Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 与数组字符串一起使用时突出显示文本插件中断_Javascript_Jquery - Fatal编程技术网

Javascript 与数组字符串一起使用时突出显示文本插件中断

Javascript 与数组字符串一起使用时突出显示文本插件中断,javascript,jquery,Javascript,Jquery,我尝试使用基于jQuery的文本突出显示插件,它可以用于单字突出显示,但当我传递数组时会中断,我的语法似乎与文档中的一样正确 例如: 我需要向这个函数传递几个关键字,以便它突出显示所有关键字 已解决: 脚本似乎有bug,该bug已被解决,请使用以下完整脚本进行基于数组的搜索高亮显示 Fiddle:声明语法正确 $("#article").highlight(["me","highlight","plugin"]); 您只需要在JSFIDLE中正确地包含插件。不要包含标记脚本,而是使用“外部资源

我尝试使用基于jQuery的文本突出显示插件,它可以用于单字突出显示,但当我传递数组时会中断,我的语法似乎与文档中的一样正确

例如:

我需要向这个函数传递几个关键字,以便它突出显示所有关键字

已解决

脚本似乎有bug,该bug已被解决,请使用以下完整脚本进行基于数组的搜索高亮显示


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]+/)]);