Quelle est la différence fondamentale entre utiliser $ (this) vs this
$('.viewComments').click(function(ev){
//returns the desired value
alert(this.getAttribute('id'));
//Gives an error sayin function is not defined
alert($(this).getAttribute('id'));
//returns the desired value
alert($(this).attr('id'));
});
Ce que je pensais être "$ (ceci)" contiendra toutes les fonctions que "ceci" a et plus .. Mais cela ne semble pas être le cas.
Alors qu'est-ce que $ (this) exactement? et
Comment puis-je savoir quelles fonctions sont disponibles lorsque je l'utilise? (Je sais que je peux les faire passer au travers de firebug. Mais j'aimerais savoir s'il existe un autre moyen - un doc peut être)
this
est l'objet DOM, alors que $(this)
est le wrapper jQuery qui le entoure.
Lorsque vous utilisez this
, vous pouvez y appeler des méthodes DOM, mais pas des méthodes jQuery. Lorsque vous utilisez $(this)
, vous pouvez y appeler des méthodes jQuery, mais pas des méthodes DOM.
$ (this) - représente l'élément DOM actuel sur lequel l'événement est appelé cette fonction
Le mot-clé this - En JavaScript, cela fait toujours référence au «propriétaire» de la fonction que nous exécutons, ou plutôt à l'objet dont une fonction est une méthode.
Dans jQuery, cela fait référence à l’objet DOM et $(this
) fait référence au même objet mais avec l’ajout de méthodes jQuery
vous ne pouvez pas appeler this.each()
car chacune d’elles n’est pas une méthode DOM, c’est une méthode jquery
vous pouvez appeler $(this).each()
car $(this)
renvoie un objet jquery
Voici deux articles qui pourraient vous être utiles:
Qu'est-ce que c'est? de Mike Alsup
jQuery c'est ceci: démystifié par Remy Sharp
$ (this) est l'objet actuel sélectionné à l'aide d'un sélecteur jQuery ou d'un événement associé à l'objet.
donc, si vous avez $('#myelement').click(.....
, alors $(this)
fera référence à l'élément sur lequel vous avez cliqué de sorte que $(this).hide()
masque cet élément.
dans jQuery, la notation $ () est un raccourci pour le sélecteur jQuery. Par conséquent, si vous dites $ (this), vous demandez à jQuery de sélectionner à nouveau votre objet. Ensuite, vous avez les fonctions jQuery habituelles disponibles . "Ceci" est l’objet sélectionné par l’appel jQuery externe.
$ (this) est un objet jQuery et vous pouvez utiliser la puissance et la beauté de jQuery, mais avec le mot clé 'this', il est nécessaire d'utiliser du JavaScript natif.