'$(this)' ile 'this' arasındaki fark nedir?

Şu anda bu ders üzerinde çalışıyorum: jQuery ile Başlarken

Aşağıdaki iki örnek için:

$("#orderedlist").find("li").each(function (i) {
    $(this).append(" BAM! " + i);
});
$("#reset").click(function () {
    $("form").each(function () {
        this.reset();
    });
});

İlk örnekte, her li öğesinin içine bir metin eklemek için $(this) kullandığımıza dikkat edin. İkinci örnekte ise formu sıfırlarken doğrudan this öğesini kullanıyoruz.

$(this),this`ten çok daha sık kullanılıyor gibi görünüyor.

Benim tahminim ilk örnekte $() her li elemanını append() fonksiyonunu anlayan bir jQuery nesnesine dönüştürürken, ikinci örnekte reset() doğrudan form üzerinde çağrılabilir.

Temel olarak sadece jQuery'ye özel fonksiyonlar için $() fonksiyonuna ihtiyacımız vardır.

Bu doğru mu?

Çözüm

Evet, sadece jQuery kullandığınızda $()a ihtiyacınız vardır. DOM işlerini yapmak için jQuery'nin yardımını istiyorsanız bunu aklınızda bulundurun.

$(this)[0] === this

Temel olarak, bir dizi öğeyi her geri aldığınızda jQuery bunu bir jQuery nesnesine dönüştürür. Eğer sadece bir sonucunuz olduğunu biliyorsanız, bu sonuç ilk elemanda olacaktır.

$("#myDiv")[0] === document.getElementById("myDiv");

Ve böyle devam eder.

Yorumlar (3)

Evet, jQuery fonksiyonları için $(this)e ihtiyacınız var, ancak jQuery kullanmayan elementin temel javascript yöntemlerine erişmek istediğinizde, sadece this kullanabilirsiniz.

Yorumlar (0)

Evet, $(this) kullanarak nesne için jQuery işlevselliğini etkinleştirmiş olursunuz. Sadece this kullanarak, sadece genel Javascript işlevselliğine sahip olur.

Yorumlar (0)