Comment puis-je sélectionner une plage contenant une valeur de texte spécifique, en utilisant jquery?

Comment trouver l'étendue contenant le texte "TROUVEZ-MOI"

<div> <span>FIND ME</span> <span>dont find me</span> </div> 

http://api.jquery.com/contains-selector/

 $("span:contains('FIND ME')") 

ETA:

Le sélecteur contient le sympa, mais le filtrage d'une liste de traits est probablement plus rapide: http://jsperf.com/jquery-contains-vs-filter

 $("span").filter(function() { return ($(this).text().indexOf('FIND ME') > -1) }); -- anywhere match $("span").filter(function() { return ($(this).text() === 'FIND ME') }); -- exact match 

L'utilisation contient :

 $("span:contains('FIND ME')") 

Je pense que cela va fonctionner

 var span; $('span').each(function(){ if($(this).html() == 'FIND ME'){ span = $(this); } }); 

Soit dit en passant, si vous souhaitez utiliser cela avec une variable, vous le feriez de cette façon:

 function findText() { $('span').css('border', 'none'); //reset all of the spans to no border var find = $('#txtFind').val(); //where txtFind is a simple text input for your search value if (find != null && find.length > 0) { //search every span for this content $("span:contains(" + find + ")").each(function () { $(this).css('border', 'solid 2px red'); //mark the content }); } }