多关键词高亮显示

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

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));
        }
 }
相关推荐
全栈老石6 分钟前
设计师到前端不再有墙:Figma + VS Code 自动出码实践
前端·vue.js·html
全宝20 分钟前
【前端特效系列】css+js实现聚光灯效果
javascript·css·html
遗悲风1 小时前
html抽奖功能
前端·html
LilyCoder3 小时前
HTML5二十四节气网站源码
前端·javascript·html·html5
我命由我1234515 小时前
软件开发 - 避免过多的 if-else 语句(使用策略模式、使用映射表、使用枚举、使用函数式编程)
java·开发语言·javascript·设计模式·java-ee·策略模式·js
rannn_11116 小时前
【Javaweb学习|黑马笔记|Day1】初识,入门网页,HTML-CSS|常见的标签和样式|标题排版和样式、正文排版和样式
css·后端·学习·html·javaweb
Tony小周2 天前
qml 实现数值键盘
前端·javascript·html
第七种黄昏2 天前
大事件项目拆解:登录访问拦截实现详解
前端框架·vue·js
前端老鹰2 天前
HTML <link rel=“preload“>:提前加载关键资源的性能优化利器
前端·性能优化·html
白云~️2 天前
html img标签设置默认图片,防止图片路径不存在导致图片不展示影响页面美观
java·前端·html