js搜索字符串并获取匹配的元素

Mic*_*cah 2 javascript string search jquery match

我想问一下搜索字符串和获取匹配元素的最佳方法是什么?

//I want to get similar or matched element and the index of it.
//Search key ward 
var key = 'Pap'; 
Run Code Online (Sandbox Code Playgroud)
<ul>
 <li>Papa</li>
 <li>Mama</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我的想法现在是使用$.each和匹配每个的文本,但我认为这应该是一个错误的方式.但是,我找不到网上关于这个问题的任何引用.

非常感谢你.

Ant*_*ton 6

使用:contains选择器

$('*:contains("'+key+'"):last')
Run Code Online (Sandbox Code Playgroud)

要找到完全匹配,元素中的整个文本将使用此

$.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
    }
}
Run Code Online (Sandbox Code Playgroud)

要使用此功能,请执行此操作

$(el).exactMatch(key);
Run Code Online (Sandbox Code Playgroud)