web-dev-qa-db-ja.com

jQuery .search()を任意の文字列に

私はこのコードスニペットを見ました:

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

これを任意の文字列に拡張できるかどうか知りたいですか?

次のことを達成したいのですが、うまくいきません。

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

また、誰かがこの関数のjQueryドキュメントへのリンクを持っていますか?どうやらグーグルに失敗。

9
Omar

search()はStringメソッドです。

every<li>要素でattr関数を実行しています。 eachを呼び出し、その中でthis参照を使用する必要があります。

例:

$('li').each(function() {
    var isFound = $(this).attr('title').search(/string/i);
    //do something based on isFound...
});
27
Jacob Relkin
if (str.toLowerCase().indexOf("yes") >= 0)

または、

if (/yes/i.test(str))
7
Biswajit Roy

ああ、それはRegExpがjQueryではないためです。 :)

このページ を試してください。 _jQuery.attr_は文字列を返さないため、この点については確実に発生します。幸い、.text()を使用して文字列表現を返すことができると思います。

何かのようなもの:

_$("li").val("title").search(/sometext/i));
_
2
Chuck Vose