J'ai la fonction JQuery suivante étant attachée à l'événement flou de N textbox sur une page Web. Cela fonctionne simplement. Lorsque l'utilisateur onglets de l'une des boîtes de texte, une alerte contextuelle et affiche la valeur dans la zone de texte. P> Qu'est-ce que je suis confus est "this.value", et que ce soit JQuery ou JavaScript. Suis-je en train d'utiliser l'objet «Cet objet» de la manière correcte, ou devrais-je faire autre chose afin d'obtenir à la valeur de l'élément? P> Désolé si ma question semble un peu trouble. J'essaie juste de venir prendre des poignées avec le "cet" objet et son fonctionnement. J'ai regardé dans la documentation de jQuery, mais je n'ai rien trouvé sur "Ceci". P> p>
5 Réponses :
"Ceci" fait référence à l'élément sélectionné jQuery juste avant. Parce que vous utilisez "Ceci" à l'intérieur d'une fonction de rappel JQuery, "Ceci" fait en réalité des points à l'objet DOM sélectionné par JQuery. Si vous auriez utilisé "$ (ceci)", cela exposerait directement l'objet JQuery qui est / sont les éléments correspondants. Et comme mentionné par d'autres personnes vous permet d'appliquer les fonctions jQuery sur cet élément. P>
voir: Ce démystifié et Le ce mot clé . P>
Ce code> ne fait pas référence à la jQuery. Comme le remarqua Prakash, cela pointe vers l'élément DOM.
Cet élément = DOM P>
$ (ceci) = jQuery'ied p>
Généralement, j'utilise un vieux javascript plain où je peux. L'alternative jQuery dans ce cas est $ (this) .val () code> - je ne vois pas le besoin de cela. P>
Bien que $ (ceci) .val () code> est plus court lorsque vous avez affaire à un élément de sélection
ceci.Options [this.selectedindex] .value code> - et fonctionnera également avec plusieurs types d'éléments.
jQuery doc pour CORE / CHAQUE : P>
exécuter une fonction dans le contexte de chaque élément apparié. P>
Cela signifie que chaque fois que la fonction passée est exécutée (qui est une fois pour chaque élément correspondant), le mot-clé «Ceci» pointe sur l'élément DOM spécifique. Notez que "ceci" ne pointe pas d'un objet JQuery. P> blockQuote>
Ce strong> fait référence à l'objet DOM actuel (de la même manière que, c'est-à-dire que Si vous utilisez Si vous avez un objet JQuery (c.-à-d. Ceci fort> peut résoudre à différents objets, en fonction de l'endroit où il est appelé. Il peut s'agir d'un nœud si appelé dans un gestionnaire d'événements onclick ou autre (
Ah ... La Lightbulb vient d'éclairer! Excellente description. Merci beaucoup! document.getelementByID ("anormal") code> fait référence à l'objet DOM souhaité). Basé sur le navigateur, vous pouvez maintenant accéder aux fonctions / champ de cet objet (c.-à-d.
ceci.nodename, cela.Value code>, ...) Vous accédez à ce qui est fourni par la mise en œuvre du navigateur. P >
$ ("# sienïne") code> ou
$ (document.getelementbyid ("single")) Code>) Vous êtes en train d'écouler l'objet dans JQuery - vous pouvez également accéder aux fonctions et champs JQuery (c.-à-d.
$ (ceci) .val (); $ ("Soménode") code >, ....) p>
var n = $ (this) .Find ("# siéid"); code>) et que vous voulez vous débarrasser de la capsule JQuery, car vous avez besoin d'un Fonction DOM Standard Vous obtenez une utilisation
Cet article (veuillez excuser le jeu de mots) explique comment cela fonctionne un peu plus: p>
Pourquoi je préfère toujours le prototype à JQuery p>
L'auteur considère comme une mauvaise décision de conception pour la bibliothèque de jQuery, mais je ne préconise pas de toute façon. Je pensais juste que l'article était assez intéressant. P>
Je crois que JQuery recette le "Ceci" en utilisant un appel ou appliquer afin que le contexte de la fonction que vous passez est celui de l'élément DOM représenté par un objet JQuery.