私の最初の考えは、テストされていませんが、次のようになります。
$('td').filter(function(){
return this.parentNode.style.display == 'table-row';
}).css('background-color','#fff');
書かれているように、これはすべての要素を選択し、親が;td
を持つ要素にフィルタリングします。ただし、これにはスタイルがインラインで設定されている必要があります。ただし、もう少しjQueryを投げると、次の方法で同じことが実現できます。tr
style="display: table-row;"
tr
$('td').filter(function(){
return $(this).parent().css('display') == 'table-row';
}).css('background-color','#fff');
これは同じ方法でフィルタリングされますが、外部スタイルシート (またはドキュメントのstyle
タグ) に設定された CSS が含まれます。head
ただし、DOM トラバーサルを減らし、tr
要素のみを明示的に処理し、特定のクラス名を使用して同じことを達成します。
$('tr').filter(function(){
return $(this).css('display') == 'table-row';
}).addClass('hasDisplayTableRow');
もちろん、これにより CSS を使用できます。
tr.hasDisplayTableRow td {
/* css */
}