Ответ 1
Вам нужно использовать .filter()
, но хорошая новость - вам не нужно регулярное выражение:
$(list).find("a").filter(function () {
return (this.textContent || this.innerText || '').indexOf(filter) === 0;
}).parent().show();
Я пытаюсь реализовать функцию поиска для списка с помощью jQuery. Я использую следующую строку для фильтрации соответствующих элементов
$(list).find("a:contains(" + filter + ")").parent().show();
Здесь отображаются все элементы, содержащие текст "фильтр". Я хочу показать только те элементы, в которых слова начинаются с текста "фильтра".
Я думаю об использовании регулярного выражения для этого.
Есть ли способ передать регулярное выражение в селектор :contains
? Или это может быть достигнуто любым другим способом?
Вам нужно использовать .filter()
, но хорошая новость - вам не нужно регулярное выражение:
$(list).find("a").filter(function () {
return (this.textContent || this.innerText || '').indexOf(filter) === 0;
}).parent().show();