2013-07-26 3 views
1

나는 이걸로 모든 행에서 테이블에 대한 클릭 이벤트를 설정하려고합니다. 첫 번째 행의 테이블에서 클릭 이벤트를 제거하는 방법

는 테이블 :

<table border='1px'> 
    <tr> 
     <td class='td'>first row frist column</td> 
     <td>first row second column</td> 
    </tr> 
    <tr> 
     <td class='td'>second row frist column</td> 
     <td>second row second column</td> 
    </tr> 
    <tr> 
     <td class='td'>third row frist column</td> 
     <td>third row second column</td> 
    </tr> 
</table> 

그리고 이것은 jQuery를 간단하다 -이와

$('table tbody tr td:nth-child(1)').live('click',function(){ 
alert($(this).text()); 
}) 

는 내가 설정되지 않은 테이블의 첫 번째 행의 열을 클릭합니다의 경고에 먼저 열 중 하나를 클릭 행사.

어떻게하면됩니까?

답변

2

모든 컬럼에 클래스 col+number을 지정,이 시도 DEMO http://jsfiddle.net/yeyene/CGbXP/4/

보십시오. 그런 다음

var i = 1; 
$('td').each(function(){  
    $(this).addClass('col'+i); 
    i = i+1; 
}); 

$('table').find("td:not(.col4)").on('click',function(){ 
    alert($(this).text()); 
}) 
+0

두 번째 열 ID를 설정하고 싶습니다 ... 어떻게? –

+0

확인 업데이트 답변 n 데모 – yeyene

+0

아니요 ... 첫 번째 행의 두 번째 열을 설정하고 싶습니다. ' 첫 번째 행 프리스트 열 첫 번째 행의 두 번째 열 –

2

의사 선택기 :not()을 사용하면 클릭 바인딩에서 첫 번째 행을 제외 할 수 있습니다.

$('table tbody tr:not(:first) td:first-child') 

은 첫 번째 행의 첫 번째 열을 제외한 모든 첫번째 컬럼에 클릭 핸들러를 추가합니다. Here은 위의 jsFiddle입니다. .live() 메소드의

1

사용은 더 이상 jQuery에의 최신 버전을 더 이상 사용되는 단점이

.live이없는 jQuery를 제공 더 나은 방법을 이후 버전의 때문에 권장되지 않습니다.

$('table tbody tr:not(:first)').on('click',function(){ 
alert($(this).text()); 
}); 

JsFiddle

+0

희망이 도움 ... 어떻게? –

1

당신은 바로 당신의 선택의 첫 번째 행을 제외 할 수 있습니다 중 하나를 시도 ... 사용 0보다 큰 색인 :

$('table tbody tr:gt(0) td:nth-child(1)').live('click',function(){ 
    alert($(this).text()); 
}); 

그러나 더 최근의 jQuery 버전에서, .live는 사용되지 않으며 심지어 1.10에서 제거, 그래서 당신은 대신 .on를 사용해야되었습니다

$('table tbody tr:gt(0) td:nth-child(1)').on('click',function(){ 
    alert($(this).text()); 
}); 

마지막으로, 경우에 당신이 이제까지 중첩해야 테이블, 당신의 선택은 너무 많은 안타를 반환합니다. 대신 직접 아이를 선택

$('table > tbody > tr:gt(0) > td:nth-child(1)').on('click',function(){ 
    alert($(this).text()); 
}); 

데모 : http://jsfiddle.net/2FkDY/

+0

첫 번째 행의 두 번째 열 ID를 설정하려면 ... 어떻게 할 수 있습니까? –

0

나는 당신이 그 첫 번째 행에 클래스를주는 onclick 이벤트를 사용할 필요가 없습니다 생각합니다.

$('.td').on('click', function() { 
    //do your stuff here 

}); 

내가 거기에 두 번째 열 ID를 설정할
관련 문제