[英]How do I make display:none to display:block elements not take up its original space in DOM?
我有以下示例代碼片段: https : //jsfiddle.net/uyg8tauo/,其中最初將幾個div
定義為display: none;
然后單擊按鈕,我希望通過將元素的display
屬性更改為block
來顯示它們。
但是,我希望元素根據我實際單擊的按鈕正確層疊。 例如,如果我單擊第一個按鈕4次,則id
s "school_" + n
的元素將"school_" + n
顯示;如果單擊第二個按鈕,則id
"noSchool_" + n
的div
出現在第一個"noSchool_" + n
之后而不是確切地寫在我的DOM上。
請注意,舊版瀏覽器(IE8 <)必須支持它。 顯然,我的div
必須預先定義並且不能動態添加。 我真的希望我能明確指出自己的問題,並且對任何可行的解決方案都表示贊賞!
謝謝。
如果將DOM元素重新添加到同一容器中,則它將放置在DOM樹的最后。 考慮以下:
<div id="container">
<div id="button-1">1</div>
<div id="button-2">2</div>
<div id="button-3">3</div>
</div>
現在,如果您要這樣做: document.getElementById('container').appendChild(document.getElementById('button-1'));
這將有效地將DOM切換為以下結構:
<div id="container">
<div id="button-2">2</div>
<div id="button-3">3</div>
<div id="button-1">1</div>
</div>
如此處第一段所述: https : //developer.mozilla.org/en/docs/Web/API/Node/appendChild
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.