我正在尝试使用jQuery实现列表的搜索功能。我正在使用以下行来过滤匹配元素
$(list).find("a:contains(" + filter + ")").parent().show();
这显示包含“过滤器”文本的所有元素。我想只显示单词以“filter”文本开头的那些元素。
我正在考虑使用正则表达式。
有没有办法将正则表达式传递给:contains
选择器?或者这可以通过其他任何方式实现吗?
答案 0 :(得分:17)
你需要使用.filter()
,但好消息是你不需要正则表达式:
$(list).find("a").filter(function () {
return (this.textContent || this.innerText || '').indexOf(filter) === 0;
}).parent().show();