2011-09-20 10 views
5

Olası yinelenen vs bu: Bu yeni ve benim konsept hakkını almaya çalışırken değilim
jQuery $(this) vs this

. "this" ve "$(this)" kullanımının birçok örneği vardır. Birisi farkı açıklayabilir mi ve iki farklı "bu" yı hangi koşulda kullanırız?

+2

http://stackoverflow.com/questions/1051782/jquery-this-vs-this –

+0

Çok teşekkürler çocuklar! Şimdi daha net. – user864600

cevap

13

jQuery işlevlerinde, , öğeyi sarmaya yarayan bir jQuery nesnesi döndürürken, en çok , uğraştığınız gerçek DOM öğesini belirtir.

JavaScript'te, this her zaman geçerli kapsamı belirtir. JQuery'nin işlevlerinin çoğu, bu kapsamı, üzerinde çalıştığınız öğe olarak belirler. jQuery nesnesi tüm jQuery işlevlere sahiptir o örneğe

$("#someElement").click(function() { 
    this; // the element itself 
    $(this); // a jQuery wrapper-object around the element 
}); 

noktasıdır için

, (benzeri .detatch() veya .prependTo() vs.), DOM öğesi tarayıcı sağlayan şeydir iken. Yukarıdaki örnekte, öğenin tam olarak alacağınız gibi olması, document.getElementById("someElement")

2

$(this) jQuery amacı, içinde this belirtir, bir jquery nesneyi ifade eder. this geçerli kapsamda this değerini ifade eder. Olayı tetikleyen öğeyi jQuery nesnesine dönüştürmek istediğinizde, genellikle geri aramada $(this) kullanın. Bunu hemen hemen herhangi bir DOM öğesine yapabiliriz, bu nedenle $(document.getElementById("#myElement")) da geçerlidir ve "myElement" kimliğine sahip DOM öğesini temsil eden bir jQuery nesnesidir.