eq(index) Selecter를 사용할때 반복되는 부분에 적용할때...
December 30th, 2009 Categories: JQuery Edit
<table id="rowset_tb">
<tr>
<td></td>
<td><img.../></td>
</tr>
<tr>
<td></td>
<td><img.../></td>
</tr>
</table>
위와 같은 테이블에서 각각의 tr마다 두번째 td의 img 요소에 이벤트를 주려고 아래와 같이 코딩을 했다.
$("#rowset_tb tbody tr td:eq(9) img").click(function(){
alert("wow");
});
그냥 생각하면 각각 동작하는것 같이 보이지만 eq(index) 셀렉터는 첫번째 tr td 행에 대해서만 동작한다.
즉 첫째줄 tr의 td에서만 동작하게 된다. 이 부분을 해결하기 위해 아래와 같이 변경하였다.
$("#rowset_tb tbody tr").find("td:eq(9) img").click(function(){
alert("wow");
});
일단 각 tr에 대한 row를 selector로 추출한 후 find를 이용하여 각 td마다 이벤트를 연결시켜 주니 해결되었다.

