关键字高亮

代码:

//searchVal:关键字,bgColor:高亮颜色
function highlight(searchVal, bgColor) {
    var lis=$(".tasklist .name");
    $.each(lis, function(i,e){
        $this=$(e);
        var sText = $this.html();
        var reg1 = /<script[^>]*>(.|\n)*<\/script>/gi; //去掉script标签 
        sText = sText.replace(reg1, "");
        var bgColor = bgColor || "orange";
        var num = -1;
        var rStr = new RegExp(searchVal, "gi"); //匹配传入的搜索值不区分大小写 i表示不区分大小写,g表示全局搜索
        var rHtml = new RegExp("\<.*?\>", "ig");//匹配html元素
        var aHtml = sText.match(rHtml); //存放html元素的数组
        var arr = sText.match(rStr);
        a = -1;
        sText = sText.replace(rHtml, '{~}');  //替换html标签
        sText = sText.replace(rStr, function () {
                a++;
                return "<span name='addSpan' style='color: " + bgColor + ";'>" + arr[a] + "</span>"
        }); //替换key
        sText = sText.replace(/{~}/g, function () {  //恢复html标签
                num++;
                return aHtml[num];
        });
        $this.html(sText);
    });
}

 

posted @ 2023-01-12 15:48  自在逍遥处  阅读(18)  评论(0编辑  收藏  举报