我是jquery的新手,陷入了一个问题,需要专家的帮助。如何通过在循环外声明一个循环来调用jquery函数
这里是我的代码
for (val in list) {
var result = $.grep(node, function(e){
return e.id === list[val].Id;
});
if (result === 0)
// do something
}
当我试图通过JSLint的我,我得到这个错误
#1 Don't make functions within a loop.
我知道,我在jQuery的grep的功能 制作功能问题但我坚持如何将我的函数移出循环将其分配给一个变量,然后调用它。因为我的功能在谈论一个论点e。我已经尝试过这样的
var Visible = function (e, list, val) {return e.id === list[val].Id;};
for (val in list) {
var result = $.grep(node, Visible(e, list, val));
}
但现在的JSLint是给一个错误,
#1 'e' was used before it was defined.
var result = $.grep(node, Visible(e)); // Line 125, Pos 69
// -------------------- ------------------------------------------------
这里是数据
node: Array[5]
0: HTMLTableRowElement
1: HTMLTableRowElement
2: HTMLTableRowElement
3: HTMLTableRowElement
list: Array[5]
0: Object
0: "cc"
1: "ss"
Id: "000"
1: Object
2: Object
现在我发现,对于该列表中的元素的html元素存在。如果列表中的任何元素和htmlelement不存在,那么我r =创建一个我正在通过检查结果=== 0 什么可以解决这个问题。任何帮助将不胜感激 谢谢
你想用这段代码实现什么? – SergeyS
什么是'node'? '$ .grep'将返回一个数组,所以它永远不会等于零。帮助理解代码的目标 – charlietfl
您可以使用jQuery的'$ .each'来解决此警告。 – elclanrs