Javaの大部分の可視性を切り替えるには、display: <value>
プロパティが含まれています。Javascriptを使用してスタイルを設定するときに、 'display'のスタイル継承を防止します。
問題は、Javascriptを使用して外側の表示プロパティを設定すると、内側の表示プロパティも設定されることです。
を考えると、次のCSS:
.zapfenintermeddivisionrow {
vertical-align:top;
display:none;
}
.divisionColumn[data-division=true][data-boxed=true] {
border: 1px solid black;
display: inline-block;
float: left;
}
HTML:
<tr class='zapfenintermeddivisionrow'>
<td class='zapfendividendintermed'>
<div class="divisionColumn" data-division="true" data-boxed="true">7<br />3<br /><br /><br /><br /><br /><br /></div>
<div class="divisionColumn" data-division="true" data-boxed="true">2<br />2<br />0<br /><br /><br /><br /><br /></div>
<div class="divisionColumn" data-division="true" data-boxed="true">5<br /><br />5<br />1<br /><br /><br /><br /></div>
<div class="divisionColumn" data-division="true" data-boxed="true">7<br /><br /><br />7<br />1<br /><br /><br /></div>
<div class="divisionColumn" data-division="true" data-boxed="true">6<br /><br /><br /><br />6<br />0<br /><br /></div>
<div class="divisionColumn" data-division="true" data-boxed="true">0<br /><br /><br /><br /><br />0<br />0<br /></div>
</td><td>:</td><td>4</td><td>=</td><td>181440</td>
</tr>
とJavascript:
function changeIntermediate() {
var items = document.getElementsByClassName('zapfenintermeddivisionrow');
for(i = 0; i < items.length; i++) {
items[i].style.display = (getComputedStyle(items[i]).getPropertyValue('display') == 'none') ? 'inline' : 'none';
}
}
document.getElementById('toggleallintermedsteps').addEventListener('click', changeIntermediate);
Javascriptがディスプレイを持っている.divisionColumn(のネストされたスタイルを変更します。インライン-box)を「インライン」に設定します。値は子要素に継承されているようです。
外部クラスの表示値をCSSで除外したときに内部クラスに伝播させる理由は何ですか? これを防止するにはどうすればよいですか?
なぜ内部要素のCSSも(JavaScriptを使用して)意味しないのですか? –
「内部クラスに伝播する外部クラスの表示の値」によって、要素を視覚的に視覚するか、視覚的に視覚するのか? – chakrit
JSの 'display'プロパティを変更するのではなく、' .hidden'のようなクラスを追加してそれをスタイルするだけです。ただし、「Javascriptを使用して外側の表示プロパティを設定すると、内側の表示プロパティも設定されます」は正しくありません。親要素スタイルのプロパティを変更しても子要素のプロパティにはまったく影響がありません。http://jsfiddle.net/Wq5Yc/ – powerbuoy