多关键词高亮显示

引入关键词文件,符合有条件的背景色高亮显示,也可取消。

html 复制代码
 <div id="testHtml">
     <p>写入的文本</p>
     <p>关键词</p>
 </div>
javascript 复制代码
var str ='多个关键词,关键词文件,关键词'
var strL = str.replace(/,/g,'|')     //将关键词用竖线分割
javascript 复制代码
function btnClick(){
    var Htmlstr = $("#testHtml").html()
    var reg = new RegExp('('+strL+')', 'g')
    $("#testHtml").html( Htmlstr.replace(reg,`<span style="background-color:#EEC900;">$1</span>`) )
}


function removeBtnClick(){
    var Htmlstr = $("#testHtml").html()
    var reg = new RegExp('<span style="background-color:#EEC900;">(' + strL + ')</span>','gm')
    $("#testHtml").html( Htmlstr.replace(reg,`$1`) )
}

第二种方式,多种颜色高亮显示

javascript 复制代码
var colors =  [
        "#ef0c0c",
        "#EEC900",
        "#9F79EE",
        "#FFC1C1"
    ]


var keywordsdetail= []
    keywordsdetail = str.split(',')


function  highlight(str,params) {
        var reg=new RegExp(("("+params.keys+")"),"gm");
        var color=params.color || '#f00';
        var replace='<span style="background-color:'+color+';">'+params.keys+'</span>';
        return str.replace(reg,replace);
    }
function btnClick(){//显示多种颜色关键词高亮按钮
        for(var i=0;i<keywordsdetail.length;i++){
            var params={
                keys:keywordsdetail[i],
                color:colors[i]
            }
            
            $("#testHtml").html(highlight($("#testHtml").html(),params));
        }
 }
相关推荐
精神病不行计算机不上班3 小时前
[Java Web]在IDEA中完整实现Servlet的示例
java·servlet·tomcat·html·intellij-idea·web
顾安r4 小时前
12.17 脚本工具 自动化全局跳转
linux·前端·css·golang·html
苏打水com4 小时前
第十七篇:Day49-51 前端工程化进阶——从“手动”到“自动化”(对标职场“提效降本”需求)
前端·javascript·css·vue.js·html
苏打水com5 小时前
第二十篇:Day58-60 前端性能优化进阶——从“能用”到“好用”(对标职场“体验优化”需求)
前端·css·vue·html·js
精神病不行计算机不上班6 小时前
[Java Web]Java Servlet基础
java·前端·servlet·html·mvc·web·session
焚 城6 小时前
uniapp 各种文件预览实现
vue.js·uni-app·html
挫折常伴左右7 小时前
HTML中body实体内容
前端·css·html
霍理迪7 小时前
HTML常用行内标签
css·html·html5
方圆工作室7 小时前
纯HTML/CSS健康数据分析平台
css·数据分析·html
顾安r7 小时前
12.17 脚本网页 创意导航
java·linux·前端·游戏·html