Мои первые мысли, хотя тестировался, был бы:
$('td').filter(function(){
return this.parentNode.style.display == 'table-row';
}).css('background-color','#fff');
Как написано, это выберет все элементы td
, а затем отфильтрует их на те элементы, родительский tr
имеет style="display: table-row;"
; это требует, однако, что tr
имеет стиль, установленный в строке. Бросив немного JQuery, однако, и вы можете достичь того же с:
$('td').filter(function(){
return $(this).parent().css('display') == 'table-row';
}).css('background-color','#fff');
Это фильтр таким же образом, но включают в себя CSS набор во внешней таблице стилей (или в style
тегов в head
документа).
Я бы, однако, уменьшить DOM обход и явно работаю на только tr
элементов, а также использовать данное имя-класса для достижения того же:
$('tr').filter(function(){
return $(this).css('display') == 'table-row';
}).addClass('hasDisplayTableRow');
Который, конечно, позволяет CSS быть используется:
tr.hasDisplayTableRow td {
/* css */
}
Я бы с ним с помощью селектора children(). '$ (" tr "). children (" td "). css (" blabla ")' ... –