在jquery中可以使表行但不是表标题可单击

时间:2012-01-25 13:45:55

标签: javascript jquery

目前我正在使用

$('#mytable tr').click(function() {
    blah blah
});

这使得所有行,包括标题可点击。如何排除标题或<th>

4 个答案:

答案 0 :(得分:8)

使用<thead><tbody>标记将标题和正文分开,并将您的选择器更改为"#mytable tbody tr"

HTML看起来像这样

<table> 
    <thead>
        <tr>
         ...
        </tr>
    </thead>
    <tbody>
         <tr>
            ...
         </tr>
    </tbody>
</table>

答案 1 :(得分:1)

假设您已准确标记table,最简单的方法是使用:

 $('#mytable tbody tr').click(function() {
     blah blah
 });

失败:

 $('#mytable tr').filter(
     function(){
         return $(this).find('td').length;
     }).click(function() {
     $(this).addClass('clicked');
 });

JS Fiddle demo

答案 2 :(得分:0)

您可以使用not功能删除它们:

$('#mytable tr').not('th').click(function() {
   blah blah
});

或者:

$('#mytable tr:not(th)').click(function() {
   blah blah
});

答案 3 :(得分:0)

使用Jquery委托

$("#mytable").delegate("td", "click", function() {
  //Do something
});

这应该有效