0

HTML

<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
<td>row 1, cell 3</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
<td>row 2, cell 3</td>
</tr>
</table>

JS

$(document).ready(function() {

  $("tr").find("td").eq(2).click(function(){
      alert('hi');
  });

  $("tr").find("td").not().eq(2).click(function(){
      alert('hi2');
  });

});

我在这里要做的是为<td>每行的每 3 个和每个其他<td>不同的点击函数绑定一个不同的点击事件。第一个功能有效,但我如何为<td>不是第三个的 ' 绑定事件?

4

4 回答 4

2

将选择器传递给not方法。

$("tr").find("td").not(':eq(2)').click(function(){
     alert('hi2');
});

http://jsfiddle.net/z9HUB/

于 2013-01-07T05:09:11.100 回答
1

试试这个现场小提琴

    $(document).ready(function() {
      $("tr").find("td:eq(2)").click(function(){
        alert('hi2');
      });

      $("tr").find("td:not(:eq(2))").click(function(){
           alert('hi');
      });
    });
于 2013-01-07T05:20:43.803 回答
0

尝试$("td:not(:eq(2)")

$("tr").find("td:not(:eq(2)").click(function(){
    alert('hi2');
});
于 2013-01-07T05:11:05.933 回答
0

你可以这样做:

$(document).ready(function() {

  $("tr").find("td:eq(2)").click(function(){
      alert('hi');
  });

  $("tr").find("td:lt(2)").click(function(){
      alert('hi2');
  });

});
于 2013-01-07T05:11:41.753 回答