75 votes

Comment sélectionner une étendue contenant une valeur de texte spécifique, à l'aide de jquery ?

Comment puis-je trouver la plage contenant le texte "TROUVE-MOI"

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

142voto

Malk Points 9214

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

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

HAE :

Le sélecteur contient est sympa, mais filtrer une liste de plages si 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

10voto

Jake Feasel Points 10341

L'utilisation contient :

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

4voto

TheWizardOfTN Points 87

Au fait, si vous souhaitez l'utiliser avec une variable, procédez comme suit :

 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
        });
     }
}

3voto

buck54321 Points 180

je pense que cela fonctionnera

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X