[英]Apply CSS rule to a group of elements between two other elements
<div class="aaa">
<blockquote>...</blockquote>
<p>...</p>
<div class="bbb">...</div>
<div class="ccc">...</div>
</div>
有沒有辦法將display: none
應用於aaa
和bbb
之間的所有內容? 也就是說,到<blockquote>
和<p>
。 (內容不限於blockquote
和p
。例如,它可以是<div>
或<pre>
。)
您將需要兩條規則:
.aaa > * { display:none; }.aaa >.bbb, .aaa >.bbb ~ * { display:block; }
<div class="aaa"> <blockquote>block</blockquote> <p>ppp</p> <div class="bbb">bbb</div> <div class="ccc">ccc</div> </div>
如果您想使用 JavaScript(例如,以編程方式應用此更改),您可以獲取類為aaa
的元素的所有子元素,然后迭代它們應用樣式,當您到達類為bbb
的元素時停止。
let parent = document.querySelector('.aaa');
for (let child of parent.children) {
if (child.classList.contains('bbb'))
break;
child.style.display = 'none';
}
#xxx{ display:none; }
<div class="aaa"> <div id='xxx'> <blockquote>.zzz..</blockquote> <p>.yyy..</p> </div> <div class="bbb">...</div> <div class="ccc">...</div> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.