如果我的数据包含像Krishna,krishna,KRISHNA这样的单词,那么我会将搜索文本输入为“krish”。它将重温所有三个字。到目前为止还可以,但是当我想突出显示匹配结果时,只有字符串的完全匹配部分是高位的。考虑到区分大小写,如何在给定数据中高举所有匹配的字符串。
以下是我实施的示例代码:
var searchTxt='KRISH';
var actualTxt='Krish';
if(actualTxt.toLowerCase().indexOf(searchTxt.toLowerCase()){
actualTxt = actualTxt.replaceAll(searchTxt,"<span style='font-weight: bold;background-color: yellow;'>"+searchTxt+"</span>");
}
请任何人帮助我......提前致谢...
答案 0 :(得分:0)
尝试这样的事情:
HTML:
<input type="text"/>
<button>find</button>
<ul>
<li>Krish</li>
<li>Krish</li>
<li>Krish</li>
<li>LastOne</li>
</ul>
JS:
var li = $('ul li'),
input = $('input');
$('button').on('click', function(){
var search = input.val(), regex;
li.removeClass('highlight');
if(search){
regex = new RegExp(search, 'i')
li.filter(function(){
return $(this).text().match(regex);
}).addClass('highlight');
}
});