2012-09-20 49 views
0

我想將div(又一個div下)之後的所有文本(html內容)移動到另一個標記。 舉例來說,如果我有一個頁面像下面,我想DIV2身體後移動的一切:將特定div下的所有內容移動到另一個標記下

<body> 
    <div id=div1> 
     <div id=div2></div> 
     <div id=div3></div> 
     <script>blah</script> 
     and much more 
    </div> 
</body> 

<body> 
    <div id=div1> 
     <div id=div2></div> 
    </div> 
    <div id=div3></div> 
    <script>blah</script> 
    and much more 
</body> 

我怎樣才能做到這一點? 使用

$('#div').appendTo('body'); 

只移動該div。

+0

能有DIV2之前還元素或者是它總是DIV1的第一個子元素? – Simon

+0

div2之前還可以有其他的div也 – kailash19

回答

2

您可以使用jQuery來實現這一點。

var elems = $("#div2").nextAll(); 
    $('body').append(elems); 

jsfiddle

+3

或者只是'$('#div2')。nextAll()。appendTo('body')' – Blender

+0

@Blender:謝謝,它的簡短和簡單 – kailash19

0

由於我的嘗試,響應上面是不正確的,因爲它沒有移動文本節點。 試試這個,希望這是你在找什麼:

​var $div = $("#div2"​), $con = $div.parent().contents(); 
$con.slice($con.index($div)+1).appendTo("body"); 
​ 

jsfiddle

相關問題