JQuery(Javascript)/CSS,如何在不使用定位的情况下重新排列DIV中元素的顺序?

JQuery(Javascript)/CSS,如何在不使用定位的情况下重新排列DIV中元素的顺序?,javascript,jquery,css,Javascript,Jquery,Css,我有点不确定怎么做。我有一个主面板,我想在其中显示一个基于动作的DIV。我在html中的div布局如下: <div id="container"> <div id="1"></div> <div id="2"></div> </div> 我不想把定位搞得一团糟,而是希望这样,当发生什么事情时,我可以尽可能简单地将div id=2放在div id=1之上。非常感谢您的建议。在您展示的示例中,您可以简单地使用a

我有点不确定怎么做。我有一个主面板,我想在其中显示一个基于动作的DIV。我在html中的div布局如下:

<div id="container">
   <div id="1"></div>
   <div id="2"></div>
</div>


我不想把定位搞得一团糟,而是希望这样,当发生什么事情时,我可以尽可能简单地将div id=2放在div id=1之上。非常感谢您的建议。

在您展示的示例中,您可以简单地使用
append
prepend
jquery方法

例如,div#1然后div#2

重新排序,第2部分,然后是第1部分


你可以用很多方法写这篇文章。只需记住
prepend
将元素放在容器的开头(第一个元素之前),而
append
将元素放在最后一个元素之后。

您只需将div绝对定位即可。如果发生了什么事情,只需设置元素的z索引。 例如(使用简单JS):


如果要更新它们,只需重置zIndex;)

移除第二个元素,并在第一个元素之前重新插入

javascript:

var d1 = document.getElementById('1');
var d2 = document.getElementById('2');

d2.parentNode.removeChild(d2);
d1.parentNode.insertBefore(d2, d1);
​

啊,好吧,这样他们就可以在一起了。。我对CSS有点生疏了,所以我没有意识到这一点是的!绝对定位肯定!或者,如果您只想显示/隐藏div,可以使用d1.style.display=“无”和/或d2.style.display=“块”。如果您只想切换DOM元素,可以使用一些jQuery方法来更改它们的顺序!(就像Josiah Ruddell写的)啊,我不认为我可以用绝对定位来做我想做的事情,我必须尝试用另一种方法来做itOk,np,你可以用jQuery轻松地切换元素:)…或者。。如果你想测试和/或尝试另一个框架(即mootools),请看david walsh的这个伟大的例子:那么当你在上面说的时候,你指的是z指数吗,或以上顺序排列?@torazaburo-OP用jQuery标记了该问题。OP将该答案视为正确答案。该问题的使用时间也超过2年。既然你似乎不懂向下投票,那就把它读起来。
$('#container #2').remove().prependTo('#container');
var d1 = document.getElementById('1');
var d2 = document.getElementById('2');

d1.style.zIndex = 1;
d2.style.zIndex = 2;
var d1 = document.getElementById('1');
var d2 = document.getElementById('2');

d2.parentNode.removeChild(d2);
d1.parentNode.insertBefore(d2, d1);
​