JQuery селектор: содержит - Используйте регулярные выражения - PullRequest
14 голосов
/ 16 февраля 2012

Я пытаюсь реализовать функцию поиска по списку, используя jQuery.Я использую следующую строку для фильтрации соответствующих элементов

$(list).find("a:contains(" + filter + ")").parent().show();

Здесь отображаются все элементы, которые содержат текст «фильтра».Я хочу показать только те элементы, в которых слова начинаются с текста «фильтра».

Я думаю об использовании регулярного выражения для этого.

Есть ли способ передать регулярное выражение в :contains селектор?Или это может быть достигнуто любым другим способом?

1 Ответ

17 голосов
/ 16 февраля 2012

Вам нужно использовать .filter(), но хорошая новость в том, что вам не нужно регулярное выражение:

$(list).find("a").filter(function () {
    return (this.textContent || this.innerText || '').indexOf(filter) === 0;
}).parent().show();
...