jQuery.recherche() à n'importe quelle chaîne

j'ai vu ce morceau de code:

$("ul li").text().search(new RegExp("sometext", "i"));

et voulait savoir si cela pouvait être étendu à n'importe quelle chaîne?

je veux accomplir ce qui suit, mais cela ne fonctionne pas:

$("li").attr("title").search(new RegExp("sometext", "i"));

en outre, quelqu'un a un lien vers la documentation de jQuery pour cette fonction? J'échoue à googler apparemment.

9
demandé sur Jacob Relkin 2009-12-06 09:00:23

3 réponses

search() est une méthode de chaîne de caractères.

vous exécutez la fonction attr sur chaque <li> élément. Vous devez invoquer each et utiliser la référence this à l'intérieur.

exemple:

$('li').each(function() {
    var isFound = $(this).attr('title').search(/string/i);
    //do something based on isFound...
});
27
répondu Jacob Relkin 2012-06-28 19:15:59
if (str.toLowerCase().indexOf("yes") >= 0)

Ou,

if (/yes/i.test(str))
7
répondu Biswajit Roy 2012-06-28 16:43:35

Ah, ce serait parce que RegExp n'est pas jQuery. :)

Essayer cette page . jQuery.attr ne renvoie pas de chaîne de caractères, ce qui causerait certainement à cet égard. Heureusement je crois que vous pouvez juste utiliser .text() pour retourner la représentation de chaîne.

quelque chose comme:

$("li").val("title").search(/sometext/i));
2
répondu Chuck Vose 2009-12-06 06:18:31