jquery выберите столбцы таблицы - PullRequest
0 голосов
/ 12 апреля 2011

Я работаю над выбором ячеек конкретной таблицы.

У некоторых ячеек есть класс "testOff", и я пытаюсь изменить строку таблицы на другой цвет, если класс существует.

вот что у меня есть:

$("table#customersTable td.testOff").each(function(){

    $(this).closest("tr").css("background-color","#F6CCDA");

});

Я, должно быть, что-то упустил, так как он не показывает цвет фона ни для одной из ячеек.Кто-нибудь видит ошибку с тем, как я выбираю?

Ответы [ 4 ]

1 голос
/ 12 апреля 2011

Вы можете использовать : имеет селектор:

$('#customersTable tr:has(td.testOff)').css('background-color', '#f6ccda');
1 голос
/ 12 апреля 2011

Вы можете использовать что-то вроде:

$('td.testOff').closest('tr').addClass('highlightColour');

CSS:

.highlight,
.highlight td /* this part's important, and ensures that the 'highlight' colour is seen in the td elements */
{ 
    background-color: #ffa;
}

Демонстрация JS Fiddle .

Кстати, вы неeach() не требуется, поскольку селектор вернет и будет работать с массивом элементов уже.

Ссылки:

0 голосов
/ 12 апреля 2011
$("td.testOff").parent().children().css("background-color","#F6CCDA");

согласно моему предыдущему вопросу, на всякий случай, если сами ячейки td необходимо настроить для переопределения предыдущей настройки

siblings(), как я уже упоминалв моих комментариях выбрал бы только ячейки по обе стороны от .testOff - это находит всех потомков его родителя tr

0 голосов
/ 12 апреля 2011
$('#customersTable td.testOff').closest('tr').addClass('highlightColour').css("background-color","#F6CCDA");

рабочая демонстрация

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