我正在尝试使用基于jQuery的文本高亮显示插件,它适用于单个单词高亮显示,但当我传递数组时会中断。我的语法似乎与文档一样正确http://bartaz.github.io/sandbox.js/jquery.highlight.html
示例:http://jsfiddle.net/YyAXP/6/
//$('#article').highlight("me");
$("#article").highlight(["me","highlight","plugin"]);
我需要将几个关键字传递给这个函数,以便它突出显示所有关键字。
已解决:
脚本似乎有一个错误,使用以下完整的基于数组的搜索突出显示脚本源解决了这个错误
Fiddle:http://fiddle.jshell.net/ogyyvvog/2/
运行代码时出错
pat.toUpperCase不是一个函数
pat应该是数组,也许你可以用这种方式修复它?
return this.length && pat && pat.length ? this.each(function () {
for(var i=0;i<pat.length;i++)
innerHighlight(this, pat[i].toUpperCase());
}) : this;
jsfiddle
声明语法正确
$("#article").highlight(["me","highlight","plugin"]);
您只需要将插件正确地包含在您的jsfiddle中。不包括标记脚本,而是使用"外部资源"菜单。。。检查更新的演示
您可以使用我的突出显示插件jQuiteLight,它可以轻松地处理数组和正则表达式。
// for strings
$(".element").mark("query here");
// for RegExp
$(".element").mark(new RegExp(/query reg[a-zA-Z]+/));
// for array
$(".element").mark(["string query", new RegExp(/query arr[a-z]+/)]);