2010-06-09 8 views
4

이미지 만 들어있는 html 테이블에 행이 있습니다. (이 역시 첫 번째 행이됩니다). 이러한 이미지는 클릭 이벤트에도 연결됩니다. 클릭 이벤트를 처리하는 동안 부모 (즉, <td> 요소)를 찾을 수 있습니다. 그러나 나는 테이블 행 (<tr>)에서 그 상대 서수를 알고 싶다. 현재 요소는 부모를 DOM 상대적으로 인덱스되기 전에 요소의jquery : tr 내부의 td 서수

$('td img').click(function() { 
    var ordinal = $(this).closest('tr').children().index($(this).parent()); 
    // ... 
}); 

답변

5

당신은 index() 기능 서수를 찾을 수 있습니다. 당신은 .prevAll()를 사용하고 결과 세트의 길이를 얻을 수 있습니다 :이 오래하지만 난 그냥이와 순서를 시도 실현

$('td').click(function(){ 
    alert($(this).prevAll().length); 
}); 

Demo available on jsfiddle

+0

을 항상 -1 :/ $ ("TD") .click (function() { var ordinal = $ (this) .closest ('tr'). children(). 인덱스 ($ (this) .parent()); alert (ordinal); }); – Nieszka

+1

당신은 다음과 같이해야한다 : $ ("td"). (function() {var ordinal = $ (this) .closest ('tr') children() index (this); ;'원본은 td 내부의 img 요소를 참조했기 때문에'$ (this) .parent() '를 가졌습니다; 그러나 당신의 경우에'this'는 td 자체입니다. –

관련 문제