2012-05-12 55 views
4
<div id="container"> 
     <div id="1">1</div> 
     <div id="2">2</div> 
     <div id="3">3</div> 
     <div id="4">4</div> 
    </div>   

如何将div#4移动到使用纯JavaScript 上我看到了this但它的工作只移动元素的底部。例如,将会把#1移到底部。它将通过将所有其他元素移动到底部来将#4移动到顶部。没有直接的方法将#4移到顶端?元素的顺序改变顶端

+0

更好地使用jQuery或其他合适的JavaScript框架 –

+2

我网站已接近完成。我不想为此功能添加框架。 –

回答

5
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

+0

你真棒。非常感谢。 –

+0

不客气:-) – Rafael

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

试试这个

0

你可以试试这个:

var container = document.getElementById("container"); 
var el = document.getElementById("4")​; 
container.insertBefore(el, container.firstChild); 
-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