jQuery实现搜索结果关键字高亮变色功能

作者:工具松鼠

时间:2026-10-26

浏览:616

本文介绍如何利用jQuery结合JavaScript正则表达式,实现类似百度搜索的关键字高亮效果。通过提取HTML内容中的纯文本部分,对指定关键字进行正则匹配并替换为带有颜色样式的HTML标签,最后还原HTML结构。代码支持自定义颜色、加粗样式及多关键字处理,适用于搜索结果展示等场景。

文章目录

jQuery关键字高亮实现源码

1.源码


代码如下:

 
<script type="text/javascript">
$(function() {
"#btn_1".click(function() {
var $keyword = "#Text1".val()
setHeightKeyWord('bbb', $keyword, 'Red', true)
}); 
}); 
function setHeightKeyWord(id, keyword, color, bold) {
if (keyword == "")
return;
var tempHTML = "#" + id).html();
var htmlReg = new RegExp("\\<.*?\\>", "i");
var arrA = new Array();
for (var i = 0; true; i++) {
var m = htmlReg.exec(tempHTML);
if (m) {
arrA[i] = m;
} 
else {
break;
} 
tempHTML = tempHTML.replace(m, "[[[[" + i + "]]]]");
} 
var replaceText
if (bold)
replaceText = "<b style='color:" + color + ";'>$1</b>";
else
replaceText = "<font style='color:" + color + ";'>$1</font>";
var arrayWord = keyword.split(',');
for (var w = 0; w < arrayWord.length; w++) {
var r = new RegExp("(" + arrayWord[w].replace(/[(){}.+*?^$|\\\[\]]/g, "\\$&") + ")", "ig");
tempHTML = tempHTML.replace(r, replaceText);
} 
for (var i = 0; i < arrA.length; i++) {
tempHTML = tempHTML.replace("[[[[" + i + "]]]]", arrA[i]);
} 
"#" + id).html(tempHTML);
} 
</script>

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章