Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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/jquery-I'在子字符串中查找关键字;我的代码中有一个类型错误_Javascript_Jquery_Typeerror - Fatal编程技术网

使用javascript/jquery-I'在子字符串中查找关键字;我的代码中有一个类型错误

使用javascript/jquery-I'在子字符串中查找关键字;我的代码中有一个类型错误,javascript,jquery,typeerror,Javascript,Jquery,Typeerror,我需要创建一个脚本,该脚本将根据关键字列表筛选出内容(如果内容包含这些关键字中的一个,我希望对其应用样式) 到目前为止,我有以下代码: jQuery.expr[':'].mcontains = function(obj, index, meta, stack){ result = false; theList = meta[3].split("','"); var contents = (obj.textContent || obj.innerText ||

我需要创建一个脚本,该脚本将根据关键字列表筛选出内容(如果内容包含这些关键字中的一个,我希望对其应用样式)

到目前为止,我有以下代码:

jQuery.expr[':'].mcontains = function(obj, index, meta, stack){
    result = false;     
    theList = meta[3].split("','");

    var contents = (obj.textContent || obj.innerText || jQuery(obj).text() || '')

    for (x=0;x<theList.length;x++) {
        if (contents.toLowerCase().indexOf(theList[x].toLowerCase()) >= 0) {
            return true;
        }
    }

    return false;
};

$("div:mcontains('facer','non')").css("background","red")
在这一行:

theList = meta[3].split("','");
我不知道为什么它没有定义,但没有在小提琴上抛出一个错误?没有冲突(我删除了除jquery.min之外的所有其他js,以查看这是否是问题所在)


我希望这里的人能够看到我遗漏了什么,这个脚本有什么问题?

将代码张贴在分配“元”数组内容的地方。因为这些类型的错误通常会在数组中没有这样的索引时显示出来

您在项目中使用的jQuery版本与在fiddle中使用的版本相同吗?@Chad:是的,我使用的是相同的版本。@wvxvw:如果更好的话,我不使用本机js,但这是我找到的唯一符合我需要的代码片段。更复杂的解析策略是什么?试着把它放在$(document).ready(function(){…});,或者使用较旧版本的jQuery,如1.9.1?如上所述,本例中的meta是“'facer','non':$”(“div:mcontains('facer','non')))。css(“背景”,“红色”)
theList = meta[3].split("','");