假设我有4个div(id =“div1”“div2”等)
我如何使用Javascript将其重新排序为2,3,1,4?
请不要吝啬使用其他任何东西......因为我正在尝试做的事涉及Javascript,我只是一个初学者!
解释时请详细说明!!谢谢= 3
答案 0 :(得分:3)
您可以通过调用父元素上的insertBefore()
函数在另一个元素之前插入元素。
例如,如果要在div1之前插入div2,可以执行以下操作:
parent.insertBefore(div2, div1);
以下代码在div4:
之前插入div1var div1 = document.getElementById('div1');
var div4 = document.getElementById('div4');
var parent = div1.parentNode;
parent.insertBefore(div1, div4);
执行div的顺序后是2,3,1,4。
答案 1 :(得分:3)
<强> DEMO 强>
这应该很容易理解:
HTML:
<div id="container">
<div id="div1">1</div>
<div id="div2">2</div>
<div id="div3">3</div>
<div id="div4">4</div>
</div>
使用Javascript:
var container = document.getElementById('container'),
divs = container.getElementsByTagName('div'),
tmpdiv = document.createElement('div'),
order = [2, 1, 3, 4];
for (var i = 0; i < order.length; i++) {
tmpdiv.appendChild( document.getElementById('div' + order[i]) );
}
container.parentNode.replaceChild(tmpdiv, container);
答案 2 :(得分:0)
.children()
<强> HTML 强>
<div id="containter">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
<强>的JavaScript 强>
var el = document.getElementById('containter'),
divs = el.children,
len = divs.length;
// swap 3 and 1
var html = divs[1].outerHTML;
html += divs[2].outerHTML;
html += divs[0].outerHTML;
html += divs[4].outerHTML;
el.innerHTML = html;