有没有办法使用正则表达式在其文本中搜索元素。因此,例如,如果元素p中包含单词kobra,则jquery选择器返回这些元素的列表,可选地在span元素中包装匹配的单词。
我需要它来创建搜索功能。基本上有一个基于li的列表。用户输入一个术语,然后使用该正则表达式将所有元素都添加到元素选择器,然后在单击下一个用户时滚动到该位置。
答案 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
}
});