2010-03-25 11 views
3

은 가정하자 나는, 링크를 클릭 한 후, 나는 링크에 있음을 전체 테이블의 행을 강조하기 위해 jQuery 코드에서 는 <a>

<table> 
    <tr> 
    <td><a class='ilink'> link text </a></td> 
    <td></td> 
    <td></td> 
    <tr> 
    <tr> 
    <td><a class='ilink'> link text </a></td> 
    <td></td> 
    <td></td> 
    </tr> 
</table> 

싶어했다.하지만 내가 어떻게 할 수 그것을 찾아라?

답변

7

이 같은 .closest()으로 작업을 수행 할 수 있습니다

$("table").delegate("a.ilink", "click", function(){ 
    $(this).closest("tr").addClass("highlight"); 
}); 
: 당신이 행이 많은 경우

$("a.ilink").click(function() { 
    $(this).closest("tr").addClass("highlight"); 
}); 

는이보다 효율적으로 (모든 <a>이 대 일의 1 부) 것

+0

'parentsUntil()'을 권하고 싶었지만 DOM 트리를 따라갈 때 모든 부모 항목이 컬렉션에 포함되어 있다는 것을 모르고있었습니다. 가장 가까운 것이 완벽한 의미를가집니다. +1 –

1
#EDIT remove... better options listed 
0
$(document).ready(function(){ 
    $('a.ilink').click(function() { 
     $('tr').removeClass('highlight'); 
     $(this).closest('tr').addClass('highlight'); 
    }); 
}); 

그럼 당신은 정의 하이라이트 CSS 클래스가 필요합니다

.hightlight { background-color:red; }