我需要创建一个脚本,该脚本将根据关键字列表过滤掉内容(如果内容包含这些关键字之一,我想对其应用样式)。
到目前为止,我有这个代码:
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")
我自己没有写这个,我在网上找到了它,但我让它工作得很好,就像我在小提琴中需要的那样:http: //jsfiddle.net/jtmVf/1/
但是,当我尝试将其移植到项目中时,我在 firebug 中收到此错误:
TypeError: meta is undefined
在这条线上:
theList = meta[3].split("','");
我不确定为什么它在那里未定义,但没有在小提琴上抛出错误?没有冲突(我删除了除 jquery.min 之外的所有其他 js 以查看是否是问题所在)。
我希望这里有人能够看到我缺少的东西,这个脚本有什么问题?