2012-07-10 4 views
0

jQuery의 .each() 함수를 사용하여이 문제가 발생했습니다. 나는 행과 열을 'td'태그에 'row'와 'col'이라는 속성을 추가하여 수행하려는 테이블의 행과 열을 정렬하려고합니다.jQuery .each() 함수 문제

$('tr').each(function(tr_index) { 
    $('td').each(function(td_index) { 
     $(this).attr({ 
      'row' : tr_index, 
      'col' : td_index, 
     }); 
    }); 
}); 

을하지만이 나에게 다음과 같은 출력을 제공합니다 :

기본적으로 내 코드는 다음과 같습니다

<td row="6" col="0"></td> 
<td row="6" col="1"></td> 
<td row="6" col="2"></td> 
<td row="6" col="3"></td> 
<td row="6" col="4"></td> 
<td row="6" col="5"></td> 
<td row="6" col="6"></td> 

행마다 하나의 'TD'태그에 출력 (6) 때문이다. 두 번째 .each() 루프가 시작되기 전에 첫 번째 .each() 루프가 실행된다는 의미입니까? 내가 이런 걸 가질 수 있도록 내가이 변경 수있는 방법을

어떤 아이디어 :

<td row="0" col="0"></td> 
<td row="0" col="1"></td> 
<td row="0" col="2"></td> 
<td row="1" col="0"></td> 
<td row="1" col="1"></td> 
<td row="1" col="2"></td> 
<td row="2" col="0"></td> 

등 ... 누군가가 나를 위해이 문제에 대한 해결책이있는 경우

난 이후, 감사 할 것 나는 그것의 주위에 나의 머리를 감싸는 것처럼 보이지 않는다.

+0

이 보이는 노력하지만, 그것을 사용하는 것이 더 좋을 것이다 [HTML5 데이터 속성 (http://html5doctor.com/html5-custom-data-attributes/)이 아니라 가짜 속성을 만드는 것보다 – steveax

답변

5

당신이 당신의 솔루션을 가지고있는 것처럼이

 $('tr').each(function(idx_row){ 
      $(this).children().each(function(idx_col){ 
       $(this).attr({'row':idx_row, 'col':idx_col}); 
      }) 
     }); 
+0

감사합니다. 완벽하게 작동했습니다. 나는 이것을 이미 시도했다고 생각했지만, 나는 틀린 일을 했음에 틀림 없다. –