Подтвердить что ты не робот

Jquery, выбрав все элементы, кроме последней для каждой группы

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

<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");

единственная, которая изменяется, - это самая последняя ячейка. Как выбрать последний (или не последний) из каждой строки?

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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