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 按位左移运算符使用介绍(
Feb 04 Javascript
javascript的document.referrer浏览器支持、失效情况总结
Jul 18 Javascript
javascript检测两个数组是否相似
May 19 Javascript
jQuery实现判断滚动条到底部
Jun 23 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
Aug 07 Javascript
详解vue表单验证组件 v-verify-plugin
Apr 19 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
Jul 07 Javascript
JS数组交集、并集、差集的示例代码
Aug 23 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
Jan 08 Javascript
vue使用jsonp抓取qq音乐数据的方法
Jun 21 Javascript
如何在微信小程序中实现Mixins方案
Jun 20 Javascript
基于vue实现圆形菜单栏组件
Jul 05 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&amp;&amp;mysql)四
2006/10/09 PHP
几个学习PHP的网址
2006/11/25 PHP
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
PHP 数组入门教程小结
2009/05/20 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
PHP编程中的常见漏洞和代码实例
2014/08/06 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
PHP编写RESTful接口
2016/02/23 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
a标签的href和onclick 的事件的区别介绍
2013/07/26 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
使用JS组件实现带ToolTip验证框的实例代码
2017/08/23 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
详解vue实现坐标拾取器功能示例
2020/11/18 Vue.js
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
Python开发的实用计算器完整实例
2017/05/10 Python
Python读写zip压缩文件的方法
2018/08/29 Python
python脚本定时发送邮件
2020/12/22 Python
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
法院信息化建设方案
2014/05/21 职场文书
横幅标语大全
2014/06/17 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
大客户经理岗位职责
2015/04/09 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
初中数学教学随笔
2015/08/15 职场文书