私は 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 が存在しない場合、ir=create one で結果 === 0によってチェックして います。この問題の解決策は何ですか。どんな助けでも感謝します