Jquery - 不根据类

时间:2015-12-22 07:15:58

标签: jquery

当我们点击一​​行时,我使用以下jQuery在第一列中选​​中一个复选框,除非我们点击一​​行中的最后一个单元格。

tableid.on('click', 'tbody td:not(td:last-child)', function (e) {
    $(this).parent().find('input[type="checkbox"]').trigger('click');
}); 

我将noselecting课程添加到了thead> th。现在,就像我使用:not(td:last-child')跳过最后一个单元格一样,如何通过点击列{d>和noselecting列来跳过td?

1 个答案:

答案 0 :(得分:0)

您可以使用索引

使用单击处理程序对其进行测试



var tableid = $('#mytable');
tableid.on('click', 'tbody td:not(td:last-child)', function(e) {
  var $this = $(this),
    index = $this.index();
  if (!$this.closest('table').find('th').eq(index).hasClass('noselecting')) {
    $this.parent().find('input[type="checkbox"]').trigger('click');
  }
});

td,
th {
  border: 1px solid grey;
}
.noselecting {
  background-color: lightblue;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="mytable">
  <thead>
    <th>1</th>
    <th class="noselecting">2</th>
    <th>3</th>
    <th>4</th>
    <th class="noselecting">5</th>
  </thead>
  <tbody>
    <td>1</td>
    <td>
      <input type="checkbox" />
    </td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
  </tbody>
</table>
&#13;
&#13;
&#13;