JQuery et 'cette' objet
J'ai le texte suivant JQuery fonction attachée à l'effet de flou de l'événement de n zones de texte sur une page web.
$(document).ready(function() {
$("input[id$='_txtTuitionAmt']").blur(function() {
alert(this.value);
})
});
Il fonctionne très bien. Lorsque l'utilisateur onglets des zones de texte puis une alerte popups et affiche la valeur dans la zone de texte.
Ce que je suis confus au sujet est "ce.valeur," et si c'est JQuery ou JavaScript. Suis-je à l'aide de la " il " de l'objet dans la manière correcte, ou devrais-je faire quelque chose afin d'obtenir à la valeur de l'élément?
Désolé si ma question semble un peu glauque. Je suis juste en train de venir à bout de la "ce" objet et comment il fonctionne. J'ai regardé dans le JQuery documentation, mais ne pouvait pas trouver quoi que ce soit sur "ce".
OriginalL'auteur Jagd | 2009-08-19
Vous devez vous connecter pour publier un commentaire.
ce fait référence à l'actuel objet dom (de la même façon ie
document.getElementById("someid")
se réfère à la voulais objet dom). Basé sur le navigateur, vous pouvez maintenant accéder à des fonctions/champ de cet objet (ie.this.nodeName, this.value
, ...) Vous accédez à ce qui est fourni par le navigateur de mise en œuvre.Si vous utilisez $(this) (ou
$("#someid")
ou$(document.getElementById("someid"))
) Vous êtes ecapsulating l'objet jquery - ainsi vous pouvez maintenant accéder aux fonctions jquery et des champs (ie.$(this).val(); $(this).find("somenode")
, ....)Si vous avez un objet jquery (c'est à dire
var n = $(this).find("#someid");
) et vous voulez vous débarrasser de l'jquery capsule, parce que vous avez besoin d'un standard de la fonction dom vous obtenez l'utiliser .get(0).ce lui-même peut se résoudre à des objets différents, selon l'endroit où il est appelé. Il peut être un nœud si elle est appelée dans un onclick ou d'un autre gestionnaire d'événements (
<div id="asdf" onclick="alert(this.id)...
- imprime asdf), la forme ou de quelque autre objet - voir http://www.quirksmode.org/js/this.htmlOriginalL'auteur Niko
ce = élément du DOM
$(this) = jQuery'ified
Généralement j'utilise un bon vieux JavaScript où je peux. Le jQuery alternative dans ce cas est
$(this).val()
- je ne vois pas la nécessité pour elle.$(this).val()
est plus courte lorsque vous avez affaire à un élément selectthis.options[this.selectedIndex].value
- et de travailler avec plusieurs types d'éléments.OriginalL'auteur Andy Gaskell
JQuery doc pour Le noyau de chaque:
OriginalL'auteur Prakash K
"ce" se réfère à la jQuery élément sélectionné juste avant. Parce que vous êtes à l'aide de "présent" à l'intérieur de jQuery fonction de rappel, "ce" en fait, les points de l'objet DOM sélectionné par jQuery. Si vous avez utilisé "$(this)", susceptibles d'exposer l'objet jQuery directement, ce qui est/sont à la correspondance ou les élément(s). Et comme mentionné par d'autres, permet d'appliquer les fonctions jQuery sur cet élément.
Voir: cette démystifié, et Le mot-clé this.
this
n'a pas fait référence à la jQuery. Comme Prakash remarqué, il pointe vers l'élément du DOM.OriginalL'auteur jjclarkson
Cet article (s'il vous plaît excusez le jeu de mots) explique comment cela fonctionne un peu plus:
Pourquoi je préfère encore Prototype de JQuery
L'auteur considère qu'il est une mauvaise décision de conception pour la bibliothèque JQuery, mais je ne dis pas de toute façon. Je croyais que l'article était assez intéressant.
OriginalL'auteur Shea Daniels