jQuery: i due significati della parola chiave this nel contesto di esecuzione

jQuery: i due significati della parola chiave this nel contesto di esecuzione

Alcuni metodi di jQuery creano un nuovo ambito di esecuzione tramite l'invocazione di funzioni di callback. All'interno di queste funzioni la parola chiave this assume significati diversi a seconda se sia usata o meno con il wrapper $().

this fa sempre riferimento all'elemento o oggetto corrente. La differenza sta nel fatto che se viene usato senza il wrapper $() fa riferimento ad un oggetto del DOM. In caso contrario fa riferimento ad un oggetto jQuery.


$( "p" ).each(function() {
	var $p = $( this ), // oggetto jQuery
		p = this, // oggetto DOM
		pClass = p.className, // proprietà di un oggetto DOM
		pAttrClass = $p.attr( "class" ); // metodo di un oggetto jQuery
});

Come si può notare la differenza è evidente. Bisogna sempre prestare attenzione a non confondere i due significati della parola chiave this.

Torna su