2011-07-25 31 views
1

您好我需要移動的子元素成爲父母,所以例如我有這樣的代碼:需要孩子div成爲父母,但它可能在js或css?

<div id="parent1"></div> 

<div id="parent2"> 
<div id="child1">some text in here</div> 
</div> 

我想child1要根據父1,因此它像parent2例如之外的感動:

<div id="parent1"></div> 
<div id="child1">some text in here</div> 

<div id="parent2"> 

</div> 

我不能編輯頁面源代碼來改變它,所以需要在jQuery或CSS,任何想法任何人。使用CSS,你只能改變它的外觀

$('#child1').insertAfter('#parent1'); 
+1

你最好不要讓孩子'Element'父'Element'在你的例子中(它已經是它的文本「Node」的父類)。你只是將它移動到'Document'中的另一個位置。 – FK82

回答

1

試試這個。這個jQuery的答案已經給出,以純JS:

var p = document.getElementById('parent1'); 
var c = document.getElementById('child1'); 

if (p && c) { 
    // insert c as last child of p 
    p.appendChild(c); 

    // insert c as first child of p 
    p.insertBefore(c, p.firstChild); 
} 

如果你想第一個選項,你可以做到這一點作爲一個線,但我不建議這樣做:

document.getElementById('parent1').appendChild(document.getElementById('child1')); 

如果別名DOM方法,它可以更短。

+0

真棒謝謝:) –

0

不能修改DOM:

感謝

-1

你有多個選擇,要做到這一點,有的則是fallowing-

$('#parent1').prepend($('#child1')); 
$('#child1').prependTo($('#parent1')); 
$('#child1').insertAfter($('#parent1')); 

小提琴demo

+2

** - 1 ** - 沒有這些選項做什麼要求 – Eric

+0

你是生氣還是別的什麼..你沒有看到演示..上來看看OP已經標記爲答案..我已經在我的答案 – Vivek

+0

中寫下了同樣的事情,所以我誤讀了最後一個。但是,另外兩個和演示是錯誤的。他們把'#child1'放在'#parent1'裏面。這不是要求的。 – Eric

0
$('#child1').insertBefore('#parent2'); 
相關問題