Javascript 与数组字符串一起使用时突出显示文本插件中断
我尝试使用基于jQuery的文本突出显示插件,它可以用于单字突出显示,但当我传递数组时会中断,我的语法似乎与文档中的一样正确 例如: 我需要向这个函数传递几个关键字,以便它突出显示所有关键字 已解决: 脚本似乎有bug,该bug已被解决,请使用以下完整脚本进行基于数组的搜索高亮显示Javascript 与数组字符串一起使用时突出显示文本插件中断,javascript,jquery,Javascript,Jquery,我尝试使用基于jQuery的文本突出显示插件,它可以用于单字突出显示,但当我传递数组时会中断,我的语法似乎与文档中的一样正确 例如: 我需要向这个函数传递几个关键字,以便它突出显示所有关键字 已解决: 脚本似乎有bug,该bug已被解决,请使用以下完整脚本进行基于数组的搜索高亮显示 Fiddle:声明语法正确 $("#article").highlight(["me","highlight","plugin"]); 您只需要在JSFIDLE中正确地包含插件。不要包含标记脚本,而是使用“外部资源
Fiddle:声明语法正确
$("#article").highlight(["me","highlight","plugin"]);
您只需要在JSFIDLE中正确地包含插件。不要包含标记脚本,而是使用“外部资源”菜单 它在运行代码时出错 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;
返回this.length&&pat&&pat.length?这个。每个(函数(){
对于(var i=0;i您可以使用我的突出显示插件,它可以轻松地处理数组和正则表达式
// 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]+/)]);
我不知道你用的是哪个版本的higlight,但当我使用它的当前版本时,我想我用的是v4,而你的例子显示的是v3,检查例子中提到的最新fiddle它是否支持多语言,如阿拉伯语、波斯语、乌尔都语、印地语、汉语和俄语,它工作正常,但你不能告诉我们e使用SmartBehavior
选项。如果您已测试并发现错误,请提出问题。
// 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]+/)]);