使用jquery查找正则表达式匹配的元素?

时间:2015-03-18 16:29:40

标签: javascript jquery regex

有没有办法使用正则表达式在其文本中搜索元素。因此,例如,如果元素p中包含单词kobra,则jquery选择器返回这些元素的列表,可选地在span元素中包装匹配的单词。

我需要它来创建搜索功能。基本上有一个基于li的列表。用户输入一个术语,然后使用该正则表达式将所有元素都添加到元素选择器,然后在单击下一个用户时滚动到该位置。

2 个答案:

答案 0 :(得分:3)

如果不需要任何花哨,根据您的问题,用户输入搜索词,显示搜索词:使用jQuery的contains选择器,不需要正则表达式:

http://api.jquery.com/contains-selector/

 $('element:contains(kobra)') 

答案 1 :(得分:1)

使用与您要搜索的所有元素匹配的jQuery选择器,然后对每个元素运行正则表达式查询。这是一些粗略的伪代码:

$('.myParagraphs').each(function() {
  var obj = $(this);
  if (obj.text().matches(myRegexp)) {
    //code to scroll to that element
  }
});