2012-03-30 34 views
7

vs aşağıdaki seçicileri arasında bir fark var mı.ebeveyn parentNode

Biri diğerinin üzerinde kullanmak için bir neden var mı?

cevap

7

jQuery .parent() seçicisi, düğüm kümesindeki düğümlerin tümünü tüm seçer. Ancak, örneğinizde, düğüm kümesi yalnızca bir düğüm olan $(this) olduğundan, pratik bir fark yoktur.

foo sınıfına sahip birçok düğümün olabileceği durumlarda, $(".foo").parent() gibi bir şey yapmak isterseniz, bu fark önemlidir.

2

parentNode ana JS'dir, burada parent() bulunmaz.

Kodunuzda yaptığınız şey, jQuery nesnesindeki DOM öğelerini sarmaktır, böylece jQuery'ye özgü yöntemleri çağırmanız gerekir. Bu yüzden, yalnızca this.parentNode dizininde index() öğesini arayamazsınız, ancak jQuery nesnesi olmaktan öte, bunu $ (this.parentNode) .index() üzerinde çağırabilirsiniz.

İlk örneğiniz, geçerli DOM öğesini jQuery nesnesi olarak sarar ve üst öğeyi ve üst öğenin dizinini almak için jQuery parent() yöntemini kullanır. İkinci örneğiniz doğrudan parantez doğrudan sarar.

+1

Yaygın olarak destekleniyorsa, bu durumdaki fark ne olur? – r0m4n