6
votes

Y a-t-il un sélecteur pour faire une correspondance parfaite contre le texte?

sur jQuery, je cherche à un sélecteur similaire à : contient code> mais je dois faire une correspondance parfaite contre un texte d'élément. Y a-t-il?

<div>1</div>
<div>12</div>
<div>13</div>
<div>135</div>


1 commentaires

Vous recherchez l'innerhtml d'un élément comme un div, ou la valeur d'un élément comme un champ de saisie?


3 Réponses :


4
votes

On peut le faire:

var str = "whatever";

$(".elements").filter(function() {
    return $(this).text() == str;
});


4 commentaires

Ne serait pas retour $ (ceci) .text () == chaîne plus approprié, car innerhtml examinera la structure HTML ainsi que le contenu du texte?


@Davidthomas Ouais .. Je pense que vous avez raison. Pour une solution générale, c'est mieux. Merci!


Bien que la réponse fonctionne, je suis véritablement surpris que cela ait été accepté sur Jonathan Sampson. = /


Pour mon scénario spécifique, c'est la meilleure solution. Je conviens que cela vaut la peine de créer un sélecteur lorsque Jonathan Sampson suggère afin de l'utiliser à différents endroits.



2
votes
var search = '1';
$('div').filter(function() {
  return $(this).text()  == search;
}).css('background','#f00');
DEMO

3 commentaires

Si le texte est 12 et je cherche 1 correspondait à sauf si je manque quelque chose. Ce n'est pas ce que je cherche, je dois faire un match parfait.


@ Timmyo'tool vérifier la démo, ça fait la même chose que tu veux


@thecodeparadox: Pour le moment, j'ai dit que votre réponse n'était pas ce dont j'avais besoin que vous ayez eu un code totalement différent. Vision déjà posté cette solution. Merci quand même!



11
votes

Vous pouvez en faire un: xxx

violon: http: // jsfiddle.net/jonathansampson/yuqlf/


10 commentaires

Ooooh ... c'est assez génial.


@Jonathan Sampson: Cela semble assez bon. Je pensais avoir manqué une option intégrée. Merci!


Par curiosité, pouvez-vous indiquer la documentation pour cette approche? C'est un seul que je n'ai jamais (autant que je puisse me rappeler) vu auparavant.


@ Timmyo''tool Ce n'est pas une option intégrée. Dans cette solution, Jonathan a créé : exactement sélecteur par lui-même.


Et oui, c'est assez génial.


@thecodeparadox qui est une sorte de surcharge. De quoi parles-tu?


@Davidthomas et J08691 Je vais écrire quelque chose - je vous ferai savoir quand il est disponible.


@Davidthomas désormais disponible: Sampsonblog.com/279/Creating-Votre? -Custom-jquery-filtres


@ j08691 Veuillez consulter le lien dans le dernier commentaire pour une explication.


@Jonathansampson - génial, merci. Peut-être devriez-vous poster une question ici comme, "Comment créer un filtre de jQuery personnalisé?" et postez votre message de blog comme réponse. Je l'aurais +1;)