jQuery: trouver l'élément de texte
Quelqu'un peut me dire si il est possible de trouver un élément en fonction de son contenu plutôt que par un id ou classe?
J'essaie de trouver des éléments qui n'ont pas de distinction de classes ou id. (Puis j'ai ensuite besoin de trouver de l'élément parent.)
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
:contient
sélecteur pour obtenir des éléments en fonction de leur contenu.Démo ici
JS:
HTML:
.filter
à la place.$('div').filter(function(){ return $(this).text().toLowerCase() === 'test';})
Dans la documentation de jQuery, il est dit:
Par conséquent, il n'est pas assez que vous utilisez
:contains()
sélecteur de, vous devez également vérifier si le texte que vous recherchez est la direct contenu de l'élément que vous visez pour, quelque chose comme ça:<li>Hello <a href='#'>World</a>, How Are You.
. Ici, siHow
la recherche de la condition échoue, je pense.Les gars, je sais que c'est vieux mais bon j'ai cette solution qui, je pense, fonctionne mieux que tous. D'abord et avant tout surmonte le Cas de la Sensibilité que l'jquery :contains() est livré avec:
Espère que quelqu'un dans un avenir proche le trouve utile.
.contents().filter
il ne fonctionnera pas sur les enfantsDe la fusée réponse ne fonctionne pas.
J'ai simplement modifié son DÉMO ici et vous pouvez voir la racine DOM est sélectionné.
ajouter ":dernier" sélecteur dans le code pour corriger cela.
Meilleure façon à mon avis.
Oui, utiliser le jQuery
contient
sélecteur.