jquery를 처음 사용하며 문제가 발생하여 전문가의 도움이 필요합니다. 내가루프 밖에서 jquery 함수를 루프 외부에서 선언하여 호출하는 방법
#1 Don't make functions within a loop.
가 나는 JQuery와 그렙 기능 의 기능을하고있는 문제를 알고이 오류가 발생했습니다 내에서 JSLint을 통과 할 때 여기
내 코드for (val in list) {
var result = $.grep(node, function(e){
return e.id === list[val].Id;
});
if (result === 0)
// do something
}
입니다 하지만 루프 밖으로 내 함수를 이동하는 방법으로 붙어 오전 변수에 할당하고 다음 호출하십시오. 내 기능이 논쟁을 말하는 것처럼 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
// -------------------- ------------------------------------------------
여기가 지금은 HTML 요소가 존재하는리스트의 어떤 요소에 대한 것을 발견하고 데이터
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
입니다 . 목록의 모든 요소에 대해 htmlelement가 존재하지 않으면 i r = 하나를 만듭니다.
결과로 확인합니다. === 0 이 문제의 해결책은 무엇입니까? 어떤 도움을 주셔서 감사합니다 감사
이 코드로 달성하고자하는 것은 무엇입니까? – SergeyS
'노드 '란 무엇입니까? '$ .grep'는 배열을 반환 할 것이므로 결코 0이 될 수 없다. 코드 목적을 이해하는 데 도움이됩니다. – charlietfl
jQuery의'$ .each '를 사용하여이 경고를 해결할 수 있습니다. – elclanrs