如何使显示:无显示:块元素不占用其在DOM中的原始空间
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
一个接一个地显示,如果我单击第二个按钮,带有 id
"noSchool_" + n
的div
出现在第一个按钮之后,而不是在我的 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
相关文章:
- 如何'剪切'DOM元素并将其显示在其他位置
- 显示在promise中$http的DOM中
- HTML选择,在DOM中选择了正确的选项,但在firefox中显示了错误的项目
- 选中复选框时,DOM不显示element.input.checked和ng
- text()将保留旧值,但在DOM上显示新值
- 多个JavaScript子例程的实时DOM显示
- 仅使用Javascript隐藏/显示元素,而不会弄乱DOM
- Nodejs向http服务器发送命令以突出显示或着色DOM元素
- 如何在跟随链接之前显示(DOM)消息
- 防止多次显示弹出窗口.Ajax添加结果已在DOM中注册
- 删除的DOM元素仍然显示在移动safari(iOS 5.1)中
- 在页面显示给用户之前拦截并修改DOM
- Angular js-当值发生变化时高亮显示dom
- 在鼠标悬停时突出显示 DOM 元素,就像检查一样
- 有没有更有效的方法来显示 DOM 元素
- jQuery:如何在文本搜索中只显示DOM的特定元素
- chrome console.log显示DOM而不是html
- 如何在显示DOM元素时添加延迟?
- AngularJS -根据变量的值显示DOM元素
- 流星JS -在特定模板上显示DOM元素