Compte tenu du code HTML ci-dessous, j'essaie d'utiliser jQuery pour correspondre à tous les éléments de la liste ul li:has(span:contains('relevant"))
5 Réponses :
Vérifiez cela:
$(document).ready(function(){ $('span.foo:contains(relevant)').parents('li').each(function() { alert($(this).text()); }); });
Qui sélectionne la SPAN.FOO, pas l'élément de liste.
Je sais que cela peut ne pas être aussi élégant, mais au moins cela fonctionnera: Je n'ai pas pu faire fonctionner votre version ... p> p>
J'ai essayé d'inverser l'ordre des sélecteurs:
$("ul li:has(:contains('relevant').foo)").css('background-color', 'red');
battu à elle ... mais si vous voulez un sélecteur pur, vous étiez Darn Fermer
ul li:has(span[class='foo']:contains('relevant'))
Je ne sais pas pourquoi vous avez ce problème avec le sélecteur, confirmé que cela fonctionne bien:
$("ul li").filter(":has(span.foo:contains('relevant'))").css('background-color', 'green');
+1 pour utiliser JSBIN dans la question, nous épargnant tous les temps de travail.
@Kobi - +1 pour vous admettre au travail :)