2011-02-05 4 views
4

은이 같은 HTML의 테이블을 가지고jquery에서 배열 요소가있는 테이블을 채우는 방법은 무엇입니까?

<table id="someTable"> 
    <tr> 
     <td> 
      <span></span> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <span></span> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <span></span> 
     </td> 
    </tr> 
</table> 

내가 세 값 배열 someArray있다. 나는 배열을 반복하고 각 배열 항목을 각 행의 범위로 설정하려고합니다.

내가이

$('#someTable tr').each(function(i) { 
     $(this + 'td:first span').html(someArray[i]); 
}); 

문제 같은 jQuery 코드를 시도 그것은 스팬의 방법 그것을 해결하기 위해 모든 배열의 마지막 값을 설정하는 것입니다입니까?

답변

3

.find()을 사용하십시오. this에 선택기를 추가 작동하지 않습니다 :

$('#someTable tr').each(function(i) { 
     $(this).find('td:first span').html(someArray[i]); 
}); 
+0

근무 ..! 덕분에 – Amit

2

당신은 find()를 사용할 수 있습니다

$('#someTable tr').each(function(i) { 
    $(this).find('td:first span').html(someArray[i]); 
}); 

또는 context 선택 :

$('#someTable tr').each(function(i) { 
    $('td:first span', $(this)).html(someArray[i]); 
}); 
+0

감사 Sarfraz .. – Amit

+0

정교하게 :'$ (this + 'td : first span')'는'$ ('td : first span')'과 같은 결과를 반환 할 것이기 때문에 3 개의 모든 3 개의 스팬과 모두 3 범위는 마지막 요소의 내용으로 채워집니다. 이는 객체가 아니며 문자열이 아니기 때문에 jQuery 선택기에 포함되지 않기 때문입니다. – Kissaki

+0

@Amit : 환영합니다 :) – Sarfraz

관련 문제