将元素的顺序更改为顶部

时间:2012-05-12 11:25:52

标签: javascript

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

如何使用纯javascript将div#4移到顶部 我看到this,但它只是将元素移动到底部。例如,将#1移动到底部。通过将所有其他元素移动到底部,它可以将#4移动到顶部。是不是有一个直接的方式将#4移到顶部?

4 个答案:

答案 0 :(得分:6)

var _4th = document.getElementById('4'); // BTW. numeric IDs are not valid
var parent = _4th.parentNode;
var _1st = parent.firstChild;

parent.insertBefore(_4th, _1st);

JSFiddle example

答案 1 :(得分:0)

你可以试试这个:

var container = document.getElementById("container");
var el = document.getElementById("4")​;
container.insertBefore(el, container.firstChild);

答案 2 :(得分:-1)

jQuery解决方案是,

您的HTML是,

    <div id="container">
        <div id="1">1</div>
        <div id="2">2</div>
        <div id="3">3</div>
        <div id="4">4</div>
   </div>  ​

一些额外的CSS,

#container {
    border:1px solid #888;
    padding:10px;
    margin:5px;
    border-radius:10px;
}
#container div{
    border:1px solid #Cda12a;
    margin:5px;
    text-align:center;
    height:25px;
    color:#fff;
    background:#000;
}

JavaScript代码是,

$(function() {
    $( "#container" ).sortable();
    $( "#container" ).disableSelection();
});​

请参阅工作示例here

答案 3 :(得分:-2)

jQuery("#4").before(jQuery("#1").html());

试试这个