美文网首页
javascript 实现指定字符高亮

javascript 实现指定字符高亮

作者: 何必自找失落_ | 来源:发表于2016-12-19 17:51 被阅读0次
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>关键字高亮</title>
        <link rel="stylesheet" type="text/css" href="reset.css">
        <style type="text/css">
            #demo .Highlight{
                color: red;
            }
            #text .Highlight{
                color: red;
            }
        </style>
    </head>
    <body>
        <p id="demo">我是关键字的高亮显示文本,高亮的文字有JavaScript,还有CSS,以及HTML5!</p>
        <p id="text">我是关键字的高亮显示文本,高亮的文字有JavaScript,还有CSS,以及HTML5!</p>
        <script type="text/javascript">
            var Highlight = {
                arr : [],
                init : function (ops){
                    this.arr[ops.id] = {
                        id : ops.id,
                        arr : ops.arr
                    }
                    this.show(this.arr[ops.id]);
                },
                show : function (obj){
                    obj.html = document.getElementById(obj.id).innerHTML;
                    for (var i = 0 ; i < obj.arr.length ; i ++) {
                        // 全局匹配 替换
                        var reg = new RegExp(obj.arr[i],'g');
                        obj.html = obj.html.replace(reg,"<span class='Highlight'>"+obj.arr[i]+"</span>");
                    }
                    document.getElementById(obj.id).innerHTML = obj.html;
                }
            }
            window.onload = function (){
                // 使用方法
                // id 必须 
                // 默认为id 高亮内容添加class为 Highlight span 标签包裹,直接在style中写样式即可
                Highlight.init({id:"demo",arr:["JavaScript","CSS","HTML5"]});
                Highlight.init({id:"text",arr:["文本","高亮"]});
            }
        </script>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:javascript 实现指定字符高亮

          本文链接:https://www.haomeiwen.com/subject/utbtvttx.html