我想问一下搜索字符串并获取匹配元素的最佳方法是什么?
//I want to get similar or matched element and the index of it.
//Search key ward
var key = 'Pap';
<ul>
<li>Papa</li>
<li>Mama</li>
</ul>
我的想法现在是使用$.each
并匹配其每个文本,但我认为这应该是错误的方式。但是,我找不到网上关于这个问题的任何参考资料。
非常感谢。
答案 0 :(得分:6)
使用:contains
选择器
$('*:contains("'+key+'"):last')
要查找完全匹配,元素中的整个文本将使用此
$.fn.exactMatch = function (key) {
var p = $(this).find(':contains("' + key + '"):last');
if (p.text() == key) {
p.css('background', 'yellow');
} else {
//Not exact match function if wanted
}
}
要使用此功能,请执行此操作
$(el).exactMatch(key);