js实现查询关键词,使其高亮

今天做了一个功能:在页面上查询关键,使其高亮显示,实现代码如下:

css:

   <style type="text/css">
        .highlight
        {
            background-color: yellow;
        }
    </style>

javascript:

 function highlight() {
            clearSelection(); //先清空一下上次高亮显示的内容;
            var searchText = $.trim($(‘#txtKeyWord‘).val()); //获取你输入的关键字;
            if (searchText.length > 0) {
                var regExp = new RegExp(searchText, ‘g‘); //创建正则表达式,g表示全局的,如果不用g,则查找到第一个就不会继续向下查找了;

                $(‘#dialogue .dhc‘).each(function ()//遍历要查询的区域;
                {
                    var html = $(this).html();
                    var newHtml = html.replace(regExp, "<span class=‘highlight‘>" + searchText + ‘</span>‘); //将找到的关键字替换,加上highlight属性;

                    $(this).html(newHtml); //更新文章;
                });
            }
            //prekeyword = searchText;
        }
        function clearSelection() {
            $(‘#dialogue .dhc‘).each(function ()//遍历
            {
                $(this).find(‘.highlight‘).each(function ()//找到所有highlight属性的元素;
                {
                    var thishtml = $(this).html();
                    $(this)[0].outerHTML = thishtml;
                   // $(this).replaceWith(thishtml); //将他们的属性去掉;
                });
            });
        }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。