jquery, выбирающий все элементы, кроме последнего для каждой группы - PullRequest
34 голосов
/ 08 марта 2010

У меня есть таблица, которая выглядит следующим образом:

<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 ]

57 голосов
/ 08 марта 2010

Используйте это:

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

Он говорит, что каждый <td> не последний в этом конкретном <tr>

15 голосов
/ 08 марта 2010
$('tr').find('td:not(:last)').css('background-color', 'red');

Переводится как: для каждого элемента в селекторе $('tr') введите find() для всех td с, которые не являются последними. Новый результат составляет около td с, поэтому вы можете применить .css() как хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...