2011-10-04 3 views
0

J'écris un plugin personnel, et il doit faire une action lorsqu'il survole un élément spécifique. Je suis en cours d'exécution console.log($(this)); et console.log($this); (j'ai var $this = $(this) avant que je déclare mes options par défaut.Accès à l'élément DOM dans le plugin jQuery sur mouseenter

Quoi qu'il en soit, lors de la connexion ce genre de choses sur la console, je viens d'obtenir un objet avec les informations de nœud, c.-à-<li id="some_id_here"></li>, mais aucun des texte dans ce <li> (il y a du texte à l'intérieur de celui-ci, ainsi qu'un <span>...</span>.

Quelqu'un peut-il me aider? Je ne sais pas ce que je dois faire pour saisir le texte de la <li> ...

Merci!

Note: Il était en effet le cas de moi assignant $this = $(this). Une fois que j'ai ajusté la nomenclature, tout est tombé en place. Merci de votre aide!

+0

'.innerText' et' .innerHTML'? –

+0

Ceux qui apparaissent habituellement dans l'objet que je me serais déconnecté. C'est juste un objet vide, enveloppé avec des étiquettes li ... – Connor

+0

Je pense que cela a à voir avec ma déclaration de $ this = $ (this) ... – Connor

Répondre

1

Si vous avez $ this = $ (this); alors vous pouvez simplement faire:

$this.html(); // Retrieve HTML inside "<li>" referenced by $this 
$this.text(); // Retrieve plain text inside "<li>" referenced by $this 

Vous pouvez essayer:

console.log($this.html()); 

Pour de plus lire, jetez un oeil à jQuery .html() et .text() méthodes de documentation here.

À la votre!

1

Que diriez-vous

console.log($(this).html()) 
1

La première chose this à l'intérieur d'un plugin jQuery est un objet jQuery, il n'y a pas besoin de faire la $(this), jetez un oeil à signs of a poorly writter jQuery plugin

Si vous voulez le code html de votre élément ne this.html();

Si vous Si vous faites console.log(this), vous voyez normalement une petite flèche sur le côté gauche, qui vous permet de développer l'élément.

+0

Je pense que la petite flèche sur le côté peut être la clé. –

+0

quelqu'un peut-il expliquer pourquoi je suis downvoted? – topek

+0

Ceci est [incorrect] (http://api.jquery.com/bind/). Dans une fonction de gestionnaire d'événements jQuery, 'this' est une référence à l'élément DOM déclencheur.Pour obtenir un objet jQuery, vous devez faire un '$ (this)'. – josh3736

0
console.log(this); 

Si vous vous connectez l'élément DOM simple (au lieu de l'objet wrapper jQuery), votre console devrait vous permettre d'inspecter les enfants de l'élément.