7
votes

JQuery et 'cet objet'

J'ai la fonction JQuery suivante étant attachée à l'événement flou de N textbox sur une page Web. XXX

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.

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?

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".


1 commentaires

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.


5 Réponses :


1
votes

"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.

voir: Ce démystifié et Le ce mot clé .


1 commentaires

Ce ne fait pas référence à la jQuery. Comme le remarqua Prakash, cela pointe vers l'élément DOM.



8
votes

Cet élément = DOM

$ (ceci) = jQuery'ied

Généralement, j'utilise un vieux javascript plain où je peux. L'alternative jQuery dans ce cas est $ (this) .val () - je ne vois pas le besoin de cela.


1 commentaires

Bien que $ (ceci) .val () est plus court lorsque vous avez affaire à un élément de sélection ceci.Options [this.selectedindex] .value - et fonctionnera également avec plusieurs types d'éléments.



4
votes

jQuery doc pour CORE / CHAQUE :

exécuter une fonction dans le contexte de chaque élément apparié.

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.


0 commentaires

15
votes

Ce fait référence à l'objet DOM actuel (de la même manière que, c'est-à-dire que document.getelementByID ("anormal") 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 , ...) Vous accédez à ce qui est fourni par la mise en œuvre du navigateur.

Si vous utilisez $ (ceci) (ou $ ("# sienïne") ou $ (document.getelementbyid ("single")) ) 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") , ....)

Si vous avez un objet JQuery (c.-à-d. var n = $ (this) .Find ("# siéid"); ) et que vous voulez vous débarrasser de la capsule JQuery, car vous avez besoin d'un Fonction DOM Standard Vous obtenez une utilisation .get (0) .

Ceci 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 (

http://www.quirksmode.org/js /This.html

1 commentaires

Ah ... La Lightbulb vient d'éclairer! Excellente description. Merci beaucoup!



0
votes

Cet article (veuillez excuser le jeu de mots) explique comment cela fonctionne un peu plus:

Pourquoi je préfère toujours le prototype à JQuery

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.


0 commentaires