jquery实现页面关键词高亮显示的方法


Posted in Javascript onMarch 12, 2015

本文实例讲述了jquery实现页面关键词高亮显示的方法。分享给大家供大家参考。具体分析如下:

通过jquery对页面搜索关键词进行高亮显示
支持中文多词页面中高亮显示

1. JavaScript代码如下:

jQuery.fn.extend({

    highlight: function(search, configs){

        if(typeof(search) == 'undefined') return;

        var configs =  jQuery.extend({

            insensitive: 1, //是否匹配大小写  0匹配 1不匹配

            hls_class: 'highlight', // 高亮后的class

            clear_last: true, // 清除原来高亮的结果

        },configs);   

        if(configs.clear_last) {

            $(this).find("strong."+configs.hls_class).each(function(){ 

                $(this).after($(this).text());

                $(this).remove(); 

            })

        }

        return this.each(function() {

            if(typeof(search) == "string") {

                $(this).highregx(search,configs);

            } else if (search.constructor === Array ) {

                for(var query in search){ 

                    var search_str = $.trim(search[query]);

                    if(search_str != "") $(this).highregx(search_str,configs);

                }

            } 

        });               

    },              

    highregx: function(query,configs){ 

        query = this.unicode(query);

        var regex = new RegExp("(<[^>]*>)|("+ query +")", configs.insensitive ? "ig" : "g");       

        this.html(this.html().replace(regex, function(a, b, c){

            return (a.charAt(0) == "<") ? a : "<strong class=\""+ configs.hls_class +"\">" + c + "</strong>";

        }));

    },

    unicode: function(s){ 

         var len=s.length; 

         var rs=""; 

         s = s.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1");

         for(var i=0;i<len;i++){

            if(s.charCodeAt(i) > 255)

                rs+="\\u"+ s.charCodeAt(i).toString(16);

            else rs +=  s.charAt(i);

         }   

         return rs; 

    }  

});

2.highlight插件点击此处下载。

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
鼠标移到导航当前位置的LI变色处于选中状态
Aug 23 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
Mar 28 Javascript
jquery实现的代替传统checkbox样式插件
Jun 19 Javascript
Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
May 17 Javascript
基于react组件之间的参数传递(详解)
Sep 05 Javascript
Vue+Vux项目实践完整代码
Nov 30 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
Sep 26 Javascript
iview Upload组件多个文件上传的示例代码
Sep 30 Javascript
微信小程序实现留言板(Storage)
Nov 02 Javascript
微信小程序开发之转发分享功能
Oct 22 Javascript
JavaScript变量基本使用方法实例分析
Nov 15 Javascript
swiper实现异形轮播效果
Nov 28 Javascript
JavaScript设计模式学习之“类式继承”
Mar 12 #Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
Mar 12 #Javascript
JavaScript中return false的用法
Mar 12 #Javascript
JavaScript中神奇的call()方法
Mar 12 #Javascript
jquery实现无限分级横向导航菜单的方法
Mar 12 #Javascript
JavaScript中定义函数的三种方法
Mar 12 #Javascript
javascript实时显示北京时间的方法
Mar 12 #Javascript
You might like
PHP 实例化类的一点摘记
2008/03/23 PHP
php简单定时执行任务的实现方法
2015/02/23 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
做网页的一些技巧
2007/02/01 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
2015/10/29 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
JavaScript中.min.js和.js文件的区别讲解
2019/02/13 Javascript
vue中activated的用法
2021/01/03 Vue.js
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
Python中的super用法详解
2015/05/28 Python
Python实现全角半角字符互转的方法
2016/11/28 Python
django解决跨域请求的问题
2018/11/11 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
python基于itchat模块实现微信防撤回
2019/04/29 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
努比亚手机官网:nubia
2016/10/06 全球购物
WWE美国职业摔角官方商店:WWE Shop
2018/11/15 全球购物
介绍一下gcc特性
2015/10/31 面试题
如何现实servlet的单线程模式
2014/08/05 面试题
学前教育专业毕业生自荐信
2013/10/03 职场文书
入党积极分子评语
2014/05/04 职场文书
党员个人对照检查材料
2014/10/01 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书