Селектор jQuery: содержит - Используйте регулярные выражения

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

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

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

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

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

Ответы

Ответ 1

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

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