2013-12-12 2 views
0

테이블의 tbody 영역에있는 모든 tr의 배열을 만드는 데 사용하는 다음 코드가 있습니다.테이블 셀 값 배열 만들기 jQuery

var $table = $('#mytable'); 
var $rows = $table.find("tbody tr"); 

잘 작동하고 테이블의 데이터를 포함합니다. 그러나 각 행을 반복하고 해당 행의 각 셀 값의 배열을 만들려고합니다. 나는 시도했다 :

for(x=0;x<$rows.length;x++) 
{ 
    var aCells = $rows[x].find("td"); 
    alert(aCells.length); 
} 

하지만 콘솔은 어떤 방법을 '발견'은

이 사람이 나를 도울 수

있다 그 개체 #을 알리는 오류를 보여주고있다? tbody의 각 행을 한 번에 하나씩 반복하고 각 행의 특정 셀에 액세스 할 수 있도록 해당 행 내에서 셀 값의 배열을 만들고 싶습니다.

답변

3

이것은

$rows[x] 

당신은 eq()

$rows.eq(x).find("td"); 

를 사용하거나 각()

$rows.each(function(){ 
    var cells = $(this).find("td"); 
}); 
+0

매력처럼 작동했습니다! 고맙습니다! 곧 바로 정답으로 표시됩니다. – Phil

2

당신은을 통해 반복 .each()을 사용할 수 있습니다 사용하지 JQuery와 객체 DOM을 반환 rows에 액세스하면 td에 액세스 할 수 있습니다. 요소를 참조하여 $(this) 참조.

$rows.each(function(){ 
    var aCells = $(this).find("td"); 
    alert(aCells.length); 
}); 
+0

고마워요! 이것도 작동합니다! – Phil

2

$rows 배열 아니다보십시오. 그것은 jQuery 객체입니다. 대신 $rows.eq(x)을 사용하십시오. 문서보기 .eq()

+0

감사합니다 lex82, .eq() 메서드를 인식하지 못했습니다. 응답 해 주셔서 감사합니다. – Phil