2011-12-22 6 views
2

다음과 같은 테이블이 있습니다.JQuery 탐색 테이블 열

<table> 
<tr> 
<th scope="col"></th> 
<th scope="col">Column One</th> 
<th scope="col">Column Two</th> 
<th scope="col">Column Three</th> 
<th scope="col">Column Four</th> 
</tr> 
<tr> 
<th scope="row">Row One</th> 
<td></td> 
<td></td> 
<td></td> 
<td></td> 
</tr> 
<tr> 
<th scope="row">Row Two</th> 
<td></td> 
<td></td> 
<td class="click"></td> 
<td></td> 
</tr> 
<tr> 
<th scope="row">Row Three</th> 
<td></td> 
<td></td> 
<td></td> 
<td></td> 
</tr> 
<tr> 
<th>Row Four</th> 
<td></td> 
<td></td> 
<td class="target"></td> 
<td></td> 
</tr> 
<table> 
나는 '클릭'의 클래스로 <td>에 클릭 한 다음 대상이의 클래스와 얼마나 많은 행 멀리 <td>에 나를 알릴 수 있도록하고 싶습니다

. (위의 예에서는 2를 반환합니다).

표의 대상 클래스가있는 다른 <td> 요소가있을 수 있습니다. 나는 행 번호에 대해서만 다음에 내 '클릭'같은 행에 대상에 관심이 td. '클릭 한'위의 임의의 타겟은 <td> 또는 다른 열은 무시해야합니다.

같은 행에있는 클릭 된 요소 뒤에 다른 '대상'<td>이없는 경우 경고는 '다른 대상 없음'으로 표시되어야합니다.

분명히하는 것이 좋겠습니다.

+0

귀하의 질문은 무엇입니까? 너 스스로 이미 너는 무엇을 했니? –

답변

1

는이 같은 의미합니까 선택 탐색 방법을 사용하여 다음 형제와 함께 parent()closest()의 조합을 사용하여 해결책을 찾을 수 있을까? 당신이 그 코드에서 무슨 일이 일어나고 있는지 깨닫게 경우

var targetRowIndex = $('.target')[0].parentNode.rowIndex; 

$(".click").bind("click",function(){ 
    alert(targetRowIndex - this.parentNode.rowIndex); 
}); 

http://jsfiddle.net/BZDyr/3/

당신은 아마 정확한 기능 자신의 나머지 부분을 구현할 수 있습니다.

+0

안녕하세요, 이것은 정말로 가깝습니다. 그러나 targetRowIndex는 항상 테이블에 '.target'클래스가있는 첫 번째 요소를 반환합니다. 나는 '.click'과 같은 테이블 열에있는 '.target'클래스를 사용하여 * next * 요소의 인덱스 만 반환해야합니다. – user469453

+0

@ user469453 예 직접 복사 할 수있는 코드를 만들지 않았습니다. 풀. 그렇기 때문에 '코드에서 어떤 일이 벌어지고 있는지 알게되면 나머지 기능을 구현할 수 있습니다.'라고 말합니다. 단순히 애플리케이션을 생성하지 않고 간단한 예제로'rowIndex'를 검색하는 방법을 보여 주기만하면됩니다. :) 힌트 :'targetRowIndex'는 정적이고'[0]'은'.target' 클래스를 가진 첫번째 원소를 의미합니다. : P – Esailija

+0

안녕하세요 Esailija, 그게 정말 고마워요 - 내가 열 인덱스를 찾을 수있는 방법이 있습니까 (내가 colIndex rowIndex 변경 명백한 노력)? – user469453

1

당신은 아마 이전 등은 기본적으로 "td.target"