2012-04-10 63 views
8

我有3個div的想扭轉準備上doucment順序jQuery的重新排序的div

<div id="block-1">First</div> 
<div id="block-2">Second</div> 
<div id="block-3">Third</div> 

我怎麼能做到這一點jQuery的?

+3

爲什麼你想要在文檔準備好時將它們反轉?爲什麼不最初加載它們呢? – 2012-04-10 12:11:50

回答

3

這將扭轉ID爲 「DIV1」

$(function(){ 
    var items=$("#div1 div").toArray(); 
     items.reverse(); 
     $.each(items,function(){ 
      $("#div1").append(this); 
     });  
    });​ 

這裏一個div裏面所有div是的jsfiddle http://jsfiddle.net/bCAVz/8/

+0

我喜歡使用toArray() - 除了被要求提供的通用reverse()之外,我還可以使用它來隨機化等。 – 2017-08-12 11:28:30

19
<div id="parent"> 
<div id="block-1">First</div> 
<div id="block-2">Second</div> 
<div id="block-3">Third</div> 
</div> 

而且試試這個jQuery中

$('#parent > div').each(function() { 
    $(this).prependTo(this.parentNode); 
});​ 

你可以看到的jsfiddle http://jsfiddle.net/N7PGW/

+2

+1不依賴於知道父代中div的id或數目。 – 2012-04-10 12:18:12

0
$(
    $("div[id|=block]") 
     .slice(1) 
     .get() 
     .reverse() 
) 
    .insertBefore("div[id|=block]:first"); 

http://jsfiddle.net/8adwS/

例如另外請注意,您可以添加陣列反向語法jQuery函數語法,會爲你節省一個選擇器。