10款jQuery文本高亮插件
【编者按】本文作者为 Julian Motz,主要介绍十款 jQuery 文本高亮插件的现状。文章系国内 ITOM 管理平台 OneAPM 编译呈现。
很多应用或网站都为用户提供搜索关键词的方法。为了加快这一过程,提供良好的用户体验,帮助用户准确地查找到他们搜索的内容,你可以在页面中动态高亮这些搜索关键字。
这里有10款jQuery文本高亮插件,可以实现这一功能。
1. mark.js
这是用于搜索术语或自定义正则表达式的关键字高亮插件,使用ES6语言编写,基于几十个跨浏览器的单元测试,以及代码质量监测。它的开发旨在适用于所有用例,包括以下提到的所有文本高亮插件,以及更多插件(比如,diacritics,synonyms和iframes)的用例。
2. highlight
这是一款非常简单,小型的文本高亮插件,为其他插件奠定了基础。因为它不允许任何自定义,它的优势是文件非常小(1.4 KB)。
3. jquery.highlight
该插件在插件2(highlight)的基础上,添加了基本选项,可以自定义元素和类名,以及区分大小写(caseSensitive)和字匹配功能(wordsOnly)。 遗憾的是,这个插件现在无人维护(最后更新是2010年),并且有一些问题缺陷,所以应该谨慎使用。
4. jQuery.highlightRegex
又一个基于插件2(highlight)的插件,能高亮自定义正则表达式。和jquery.highlight(插件3)一样,它提供了自定义的元素和类名的功能。其他功能可以通过手动添加自定义正则表达式实现,比如添加“i” 标记以忽略大写和小写。
5. highlight_words
这是一个简单的jQuery高亮函数。与highlight(插件2)一样,没有任何自定义选项。你应该清楚,它并不提供取消高亮的功能,并且不支持搜索嵌套子元素。然而,它确实为进一步实施提供了良好的基础——尽管它不包含任何授权信息。
6. jcOnPageFilter
这个插件允许你根据搜索关键字过滤列表,高亮查找到的匹配字符。它有一个启用区分大小写搜索的选项,但不包含授权信息。
7. SearchHighlight
另一款文本高亮插件,为你提供的功能包括:自定义高亮类;类后缀;以及准确搜索(exact)选项,用于从搜索引擎处查找完全匹配,高亮查询参数。
这一插件是2006年编写的,很长时间没有更新,并且不包含授权信息,所以你应该谨慎对待。
8. jquery-highlighter
这一插件通过实现必要的CSS动画,允许你为自行装饰的文本高亮元素添加动画。当然,如果你愿意,也可以自己编写CSS。
9. TextHighlighter
使用这一插件,你可以使用自定义颜色高亮选中的文本,或者只是观察用户选中的文本。该插件已经不再维护,你应该谨慎使用。
10. jQuery highlightTextarea
因为textarea元素不能渲染HTML(以上所有插件都会为匹配生成 HTML标签),该插件允许你在textarea元素中高亮文本。它提供了大小写区分(caseSensitive),颜色(color)等功能,构建时经过了一些单元测试,但是仍存在很多问题,而且它不提供取消高亮这一功能。
结论
以上是笔者心目中的十大jQuery文本高亮插件。如果你有这方面的经验(无论好坏),或者了解其他文本高亮插件,请参与评论!
OneAPM Browser Insight 是一个基于真实用户的 Web 前端性能监控平台,能帮助大家定位网站性能瓶颈,实现网站加速效果可视化;支持浏览器、微信、App 浏览 HTML 和 HTML5 页面。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客
原文地址:https://www.sitepoint.com/10-jquery-text-highlighter-plugins/
10款jQuery文本高亮插件的更多相关文章
- 程序猿必备的10款web前端开发插件一
1.CSS3实现的火柴燃烧Loading加载动画 这次我们要给大家分享一款非常特别的CSS3 Loading加载动画,整个Loading加载动画就好像是火柴在燃烧一样,不足的是火苗并没有那么真实,比较 ...
- 10款jQuery图片左右滚动插件
在现代的网页设计中,图片和内容滑块是一种极为常见和重要的元素.你可以从头开始编写自己的滑动效果,但是这将浪费很多时间,因为网络上已经有众多的优秀的 jQuery 滑块插件.当然,如果要从大量的 jQu ...
- PoshyTip jQuery 文本提示插件的使用
PoshyTip 是JQuery中一款文本提示插件,在Jsp页面使用相当方便,插件内包含了很多外观样式,可以作为FormTooltips使用. 插件包下载地址:http://vadikom.com/f ...
- 15 款 jQuery 社交分享插件
过去几年中社交媒体越来越流行了,能够分享音乐.视频.图像甚至是其他的 docs 文档到互联网上去,这样子还能够提高页面的点击量.通常,一些社交媒体插件都能允许你的用户分享你网站上的内容到其他的社交平台 ...
- 程序猿必备的10款web前端动画插件
1.基于jQuery的瀑布流图片筛选插件 瀑布流的展现方式在目前的网页中用得越来越广泛,特别是图片和首页文章的动态加载. 今天分享的这款就是基于jQuery的瀑布流图片筛选插件,我们可以点击图片分类名 ...
- 10款jquery图片广告特效的预览及源码下载 改自[帅的相对论]
原文格式有问题,我来排版了一下,分享给大家. 1.jQuery仿海尔官网全屏焦点图特效代码 Query仿海尔官网全屏焦点图特效代码,带有左右箭头的jQuery焦点图切换特效.当焦点图切换时,下方的三块 ...
- 12款 jquery轮播插件
Nivo Slider 首先推荐的这款插件号称世界上最棒的图片轮播插件,有独立的 jQuery 插件和 WordPress 插件两个版本. 目前下载量已经突破 1,800,000 次!jQuery 独 ...
- 介绍Web项目中用到的几款JQuery消息提示插件
第一款 noty 官方网站:https://github.com/needim/noty 第二款 artDialog artDialog是一个精巧的web对话框组件,压缩后只有十多KB,并且不依赖其他 ...
- 几款jQuery右键菜单插件介绍
在网页中使用自定义右键菜单,实现上皆为使用javascript禁用浏览器默认的右键菜单,然后在网页中响应鼠标右键事件,弹出自定义的菜单. 类似右键菜单的组件网上很多.一般而言,改变浏览器的默认菜单应当 ...
随机推荐
- Chapter 3 Phenomenon——20
"All I know is that you weren't anywhere near me — 所有我知道的就是你当时不在我旁边的任何地方—— Tyler didn't see you ...
- Django model转字典的几种方法
平常的开发过程中不免遇到需要把model转成字典的需求,尤其是现在流行前后端分离架构,Json格式几乎成了前后端之间数据交换的标准,这种model转dict的需求就更多了,本文介绍几种日常使用的方法以 ...
- Centos iptables防火墙关闭启动详解
CentOS .0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下 .直接关闭防火墙 systemctl stop firewalld.service #停止firewal ...
- DataSet 多表关系
protected void Page_Load(object sender, EventArgs e) { string connectionString = @"Data Source= ...
- WPF中的Visual Tree和Logical Tree与路由事件
1.Visual Tree和Logical TreeLogical Tree:逻辑树,WPF中用户界面有一个对象树构建而成,这棵树叫做逻辑树,元素的声明分层结构形成了所谓的逻辑树!!Visual Tr ...
- RedHat Linux下MQ安装步骤及MQ常用命令
1.检查操作系统及内存情况:lsb_release -a; 2 检查java 环境:java -version 3 新建用户空间.用户和组: //创建用户目录 mkdir /home/mqm ...
- Double与BigDecimal 精度问题
转自:http://superivan.iteye.com/blog/963628 [1] 精确的浮点运算: 在Java里面,有时候为了保证数值的准确性需要精确的数据,先提供一个例子就可以发现问题了: ...
- 了解MySQL联表查询中的驱动表,优化查询,以小表驱动大表
一.为什么要用小表驱动大表 1.驱动表的定义 当进行多表连接查询时, [驱动表] 的定义为: 1)指定了联接条件时,满足查询条件的记录行数少的表为[驱动表] 2)未指定联接条件时,行数少的表为[驱动表 ...
- C#Redis 常用key操作
一.前戏 在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String.List.Set.Hashes和Sorted-Set.这些命令都具有一个共同点,即所有的操作都是针对与Ke ...
- 微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑
微信支付开发流程 1. 开通微信支付功能 省略 2. 下载微信的C#版的微信SDK 下载连接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chap ...