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 相关文章推荐
Javascript 获取滚动条位置等信息的函数
Sep 08 Javascript
JS实现标签页效果(配合css)
Apr 03 Javascript
用jquery写的一个万年历(自写)
Jan 20 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
Dec 08 Javascript
JavaScript使用addEventListener添加事件监听用法实例
Jun 01 Javascript
AngularJs 弹出模态框(model)
Apr 07 Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 Javascript
js实现文字向上轮播功能
Jan 13 Javascript
Node+Express+MongoDB实现登录注册功能实例
Apr 23 Javascript
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
vue做移动端适配最佳解决方案(亲测有效)
Sep 04 Javascript
深入解析vue 源码目录及构建过程分析
Apr 24 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 随机数的深入理解
2013/06/05 PHP
浅析PHP的ASCII码转换类
2013/07/05 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
js实现简易ATM功能
2020/10/27 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
python判断端口是否打开的实现代码
2013/02/10 Python
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
python系列 文件操作的代码
2019/10/06 Python
python文件绝对路径写法介绍(windows)
2019/12/25 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
使用pyplot.matshow()函数添加绘图标题
2020/06/16 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
电大自我鉴定范文
2013/10/01 职场文书
教师个人鉴定材料
2014/02/08 职场文书
党委班子剖析材料
2014/08/21 职场文书
土建施工员岗位职责
2015/04/11 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
英语专业毕业论文答辩开场白
2015/05/27 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS