thisöğedir, $(this)bu öğeyle oluşturulmuş jQuery nesnesidir
$(".class").each(function(){
//the iterations current html element
//the classic JavaScript API is exposed here (such as .innerHTML and .appendChild)
var HTMLElement = this;
//the current HTML element is passed to the jQuery constructor
//the jQuery API is exposed here (such as .html() and .append())
var jQueryObject = $(this);
});
Daha derin bir bakış
thisMDN bir yürütme bağlamında bulunur
Kapsam, geçerli Yürütme Bağlamı ECMA'yı ifade eder . Anlamak için this, yürütme bağlamlarının JavaScript'te nasıl çalıştığını anlamak önemlidir.
yürütme bağlamları bunu bağlar
Denetim bir yürütme bağlamına girdiğinde (kod bu kapsamda yürütülür) değişkenler için ortam ayarlanır (Sözlüksel ve Değişken Ortamlar - esas olarak bu, girilebilen değişkenler için bir alan ve yerel değişkenler için bir alan oluşturur. saklanır) ve bağlanması thismeydana gelir.
jQuery bunu bağlar
Yürütme bağlamları mantıksal bir yığın oluşturur. Sonuç, yığının derinliklerindeki bağlamların önceki değişkenlere erişebilmesidir, ancak bağları değişmiş olabilir. JQuery her geri çağırma işlevi çağırdığında, applyMDN kullanarak bu bağlamayı değiştirir .
callback.apply( obj[ i ] )//where obj[i] is the current element
Arama sonucu applyolduğunu jQuery geri arama fonksiyonların içinde thismevcut element anlamına gelir geri arama fonksiyonu tarafından kullanılır.
Örneğin, içinde .each, yaygın olarak kullanılan geri arama işlevi izin verir .each(function(index,element){/*scope*/}). Bu kapsamda this == elementdoğrudur.
jQuery geri çağrıları, çağrılan işlevi geçerli öğeyle bağlamak için uygula işlevini kullanır. Bu öğe, jQuery nesnesinin element dizisinden gelir. Oluşturulan her jQuery nesnesi , jQuery nesnesini örneklemek için kullanılan seçici jQuery API'siyle eşleşen bir dizi öğe içerir .
$(selector)jQuery işlevini çağırır (unutmayın , kod: $için bir başvurudır ). Dahili olarak, jQuery işlevi bir işlev nesnesini başlatır. Bu yüzden dahili kullanımları kullanarak hemen belli olmasa da . Bu jQuery nesnesinin yapısının bir kısmı, seçicinin tüm eşleşmelerini bulmaktır. Yapıcı ayrıca html dizelerini ve öğelerini de kabul edecektir . JQuery yapıcısına ilettiğinizde, oluşturulacak bir jQuery nesnesinin geçerli öğesini geçirirsiniz . JQuery nesnesi daha sonra seçiciyle eşleşen DOM öğelerinin dizi benzeri bir yapısını içerir (veya yalnızca bu durumda tek bir öğe ).jQuerywindow.jQuery = window.$ = jQuery;$()new jQuery()thisthis
JQuery nesnesi oluşturulduktan sonra, jQuery API'si artık gösterilmektedir. Bir jQuery api işlevi çağrıldığında, bu dizi benzeri yapı üzerinde dahili olarak yinelenir. Dizideki her öğe için, API'nin geri arama işlevini çağırır ve geri aramaları thisgeçerli öğeye bağlar . Bu çağrı obj, dizi benzeri yapının ibulunduğu ve geçerli öğenin dizisindeki konum için kullanılan yineleyici olan yukarıdaki kod snippet'inde görülebilir .