ロード時にテーブルを非表示にし、クラス名に基づいてその子 td の 1 つを表示したかったのです。CSSでそれを行うことは可能ですか?
私はそれをやろうとしましたが、display:none; によって隠されているテーブルから継承していると思います。
ロード時にテーブルを非表示にし、クラス名に基づいてその子 td の 1 つを表示したかったのです。CSSでそれを行うことは可能ですか?
私はそれをやろうとしましたが、display:none; によって隠されているテーブルから継承していると思います。
テーブルを非表示にすると、テーブル内のすべてのコンテンツが非表示になります。
すべての を非表示にして、<tr>
クラスごとにのみ表示したい
tr{
display:none;
}
tr.showInit{
display:table-row;
}
非表示の親の子を表示することはできません。
ただし、他のすべての<td>
-s を非表示にして、必要なものだけを表示することができます。
<style>
td { display: none }
td.shown { display: table-cell }
</style>
<table>
<tr>
<td> hidden </td>
<td> hidden </td>
</tr>
<tr>
<td class="shown"> shown </td>
<td> hidden </td>
</tr>
<tr>
<td> hidden </td>
<td> hidden </td>
</tr>
</table>
アップデート
JavaScript の使用
var tds = document.getElementsByTagName("td");
for ( var i = 0, size = tds.length; i < size; i++ ) {
if ( !hasClass( tds[i], "shown" ) ) {
tds[i].style.display = "none";
}
}
function hasClass(element, cls) {
return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
}
子を表示して親を非表示にすることはできません ..それは不可能です。
代わりに、表示し たくないすべてのtdを非表示にします。