如何在javascript中突出显示等于忽略大小的searchtext记录?

时间:2014-05-13 17:38:43

标签: javascript search text highlight

如果我的数据包含像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>");
}

请任何人帮助我......提前致谢...

1 个答案:

答案 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'); 
  }
 });

DEMO