jQuery .search () для любой строки - PullRequest
       6

jQuery .search () для любой строки

9 голосов
/ 06 декабря 2009

Я видел этот фрагмент кода:

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

и хотел узнать, можно ли это распространить на любую строку?

Я хочу выполнить следующее, но это не работает:

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

Кроме того, у кого-нибудь есть ссылка на документацию jQuery для этой функции? Я не в поиске, по-видимому.

Ответы [ 3 ]

27 голосов
/ 06 декабря 2009

search() является строковым методом.

Вы выполняете функцию attr для каждого <li> элемента. Вам нужно вызвать each и использовать ссылку this в.

Пример:

$('li').each(function() {
    var isFound = $(this).attr('title').search(/string/i);
    //do something based on isFound...
});
7 голосов
/ 28 июня 2012
if (str.toLowerCase().indexOf("yes") >= 0)

Или,

if (/yes/i.test(str))
2 голосов
/ 06 декабря 2009

Ах, это было бы потому, что RegExp не является jQuery. :)

Попробуйте эту страницу . jQuery.attr не возвращает строку, так что это, безусловно, послужит причиной в этом отношении. К счастью, я считаю, что вы можете просто использовать .text(), чтобы вернуть строковое представление.

Что-то вроде:

$("li").val("title").search(/sometext/i));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...