Utilisez jQuery pour obtenir le texte de la cible
En essayant d'obtenir le texte d'un événement de l'élément cible à partir d'une liste non ordonnée
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
avec ce code
$('ul').click(function() {
theEl=(event.target.text);
});
Quand j'journal de la console
event.target
il retourne
<li>Item 1</li>
et
événement.cible.texte
renvoie undefined
Je veux juste 'Article 1'. Je sais que j'ai fait avant - il doit être en retard...merci pour toute aide 🙂
source d'informationauteur Charles Wyke-Smith | 2013-02-06
Vous devez vous connecter pour publier un commentaire.
Utilisation de jQuery fonction texte:
Vous êtes confus raw JS et jQuery.
En jQuery, il vous suffit d'utiliser
$(event.target).text()
Cependant, il est beaucoup plus efficace en JavaScript:
event.target.firstChild.nodeValue
EDIT: Voici un JSPerf à titre de preuve.
La raison
event.target.text
est indéfini parce que HTMLElement ne dispose pas de méthode ou d'une propriété définie. Cependant, jQuery n'onttext()
qui est ce que vous cherchez. Pour accéder à jQuery méthodes ou des propriétés, vous avez besoin d'envelopper le courant HTMLElement dans un objet jquery. Ceci est fait par le passer à jQuery, qui crée ensuite un objet de fonction avec elle, et le jQuery, prototype, qui expose l'API.C'est le javascript aussi accès. Je vous recommande d'exécuter 'Chrome' (ou Firefox) console javascript avec
Ctrl+Shift+J
. Écrire dans votre code:console.log(event)
et de regarder le sortir sur console. Vous pouvez regarder tous les attributs de l'objet.