【编者按】本文作者为 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文本高亮插件的更多相关文章

  1. 程序猿必备的10款web前端开发插件一

    1.CSS3实现的火柴燃烧Loading加载动画 这次我们要给大家分享一款非常特别的CSS3 Loading加载动画,整个Loading加载动画就好像是火柴在燃烧一样,不足的是火苗并没有那么真实,比较 ...

  2. 10款jQuery图片左右滚动插件

    在现代的网页设计中,图片和内容滑块是一种极为常见和重要的元素.你可以从头开始编写自己的滑动效果,但是这将浪费很多时间,因为网络上已经有众多的优秀的 jQuery 滑块插件.当然,如果要从大量的 jQu ...

  3. PoshyTip jQuery 文本提示插件的使用

    PoshyTip 是JQuery中一款文本提示插件,在Jsp页面使用相当方便,插件内包含了很多外观样式,可以作为FormTooltips使用. 插件包下载地址:http://vadikom.com/f ...

  4. 15 款 jQuery 社交分享插件

    过去几年中社交媒体越来越流行了,能够分享音乐.视频.图像甚至是其他的 docs 文档到互联网上去,这样子还能够提高页面的点击量.通常,一些社交媒体插件都能允许你的用户分享你网站上的内容到其他的社交平台 ...

  5. 程序猿必备的10款web前端动画插件

    1.基于jQuery的瀑布流图片筛选插件 瀑布流的展现方式在目前的网页中用得越来越广泛,特别是图片和首页文章的动态加载. 今天分享的这款就是基于jQuery的瀑布流图片筛选插件,我们可以点击图片分类名 ...

  6. 10款jquery图片广告特效的预览及源码下载 改自[帅的相对论]

    原文格式有问题,我来排版了一下,分享给大家. 1.jQuery仿海尔官网全屏焦点图特效代码 Query仿海尔官网全屏焦点图特效代码,带有左右箭头的jQuery焦点图切换特效.当焦点图切换时,下方的三块 ...

  7. 12款 jquery轮播插件

    Nivo Slider 首先推荐的这款插件号称世界上最棒的图片轮播插件,有独立的 jQuery 插件和 WordPress 插件两个版本. 目前下载量已经突破 1,800,000 次!jQuery 独 ...

  8. 介绍Web项目中用到的几款JQuery消息提示插件

    第一款 noty 官方网站:https://github.com/needim/noty 第二款 artDialog artDialog是一个精巧的web对话框组件,压缩后只有十多KB,并且不依赖其他 ...

  9. 几款jQuery右键菜单插件介绍

    在网页中使用自定义右键菜单,实现上皆为使用javascript禁用浏览器默认的右键菜单,然后在网页中响应鼠标右键事件,弹出自定义的菜单. 类似右键菜单的组件网上很多.一般而言,改变浏览器的默认菜单应当 ...

随机推荐

  1. nodejs结合apiblue实现MockServer

    apiblue功能很强大,里面支持很多插件,这些插件能够为restfulAPI提供接口文档自动生成,甚至Mockserver的功能,当然,好多插件还是有很多坑的.下面用apiblue实现下面的业务需求 ...

  2. ASP.NET MVC 与NLog的使用

    NLog是一个.NET 下一个完善的日志工具,个人已经在项目中使用很久,与ELMAH相比,可能EAMAH更侧重 APS.NET MVC 包括调试路由,性能等方面,而NLog则更简洁. github: ...

  3. JSPatch动态更新APP

    JSPatch,只需在项目中引入极小的引擎,就可以使用JavaScript调用任何Objective-C的原生接口,获得脚本语言的能力:动态更新APP,替换项目原生代码修复bug. 用途 是否有过这样 ...

  4. Android:一个高效的UI才是一个拉风的UI(二)

    趁今晚老大不在偷偷早下班,所以有时间继续跟大伙扯扯UI设计之痛,也算一个是对上篇<Android:一个高效的UI才是一个拉风的UI(一)>的完整补充吧.写得不好的话大家尽管拍砖~(来!砸死 ...

  5. 关于eclipse 在创建一个新项目时自动出现的appcompat v7如何解决

    参考链接:https://blog.csdn.net/u013146742/article/details/51446438 我安装的ADT版本是23.0.2的新建的Android项目会自动带个app ...

  6. Explain 执行计划 和 SQL优化

    Explain 介绍 在分析查询性能时,考虑EXPLAIN关键字同样很管用.EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作.以及MySQL成功返回结果集需要 ...

  7. Docker Spring-boot

    docker 1.使用 sudo 或 root 权限登录 Centos. 2.确保 yum 包更新到最新. $ sudo yum update 3.执行 Docker 安装脚本. $ curl -fs ...

  8. postgresql逻辑结构--索引(六)

    一.索引简介 二.索引分类 三.创建索引 四.修改索引 五.删除索引

  9. CORS实践

    $.ajax("http://yafbox.18touch.com/", { type: "POST", data: {id:id,v:v}, //header ...

  10. PHP函数array_merge

    今天因一个Bug重新审视了下array_merge()这个函数. 定义:array_merge — 合并一个或多个数组 规范:array array_merge(array $array1 [, ar ...