关键字高亮

代码:

复制代码
//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 @   自在逍遥处  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示