jquery选择除最后一组之外的所有元素

时间:2010-03-08 12:07:44

标签: jquery jquery-selectors

我有一张表格如下:

<table>
   <tr>
      <td>one</td><td>two</td><td>three</td><td>last</td>
   </tr>
   <tr>
      <td>blue</td><td>red</td><td>green</td><td>last</td>
   </tr>
   <tr>
      <td>Monday</td><td>Tuesday</td><td>Wednesday</td><td>last</td>
   </tr>
</table>

我想要的是一个jquery选择器,它将选择除每个表行的最后td之外的所有选择器。我试过了:

$("tr td:not(:last)").css("background-color","red");
  //changing color just as a test...

但是,不是所有单元格而是每行的最后一个单元格都被更改,所有单元格,但是表格中的最后一个单元格都被选中。同样,如果我将其更改为:

$("tr td:last").css("background-color","red");

唯一改变的是最后一个细胞。如何选择每行的最后一个(或不是最后一个)?

2 个答案:

答案 0 :(得分:57)

使用此:

$('tr td:not(:last-child)').css('background-color', 'red');

它说每个<td>不是特定<tr>

中的最后一个

答案 1 :(得分:15)

$('tr').find('td:not(:last)').css('background-color', 'red');

转换为:对于$('tr')选择器中的每个元素,为不是最后的所有find()执行td
新结果现在约为td,因此您可以根据需要应用.css()