2017-06-27 27 views
0
再弄格內格
<div id = "a" > </div> 
<div id ="b"> child </div> 

,所以我在這裏走兩頭div的我想格「B」內格「一」 如果鍵入:如何通過調用的document.getElementById

document.getElementById("a").innerHTML = document.getElementById("b").value; 

它會給我這個輸出

<div id = "a" > child </div> 

,但我想要的是

<div id = "a" > <div id ="b"> child </div> </div> 
+1

BTW值不是div的有效屬性。也許你的意思是innerHTML? – Li357

+0

是的確切哥們你是對的 – Ng21

回答

2

在花了我寫這篇文章的時候,其他的答案作了說同樣的。

運行片段在行動中看到的代碼...

setTimeout(function() { 
 
    var a = document.getElementById("a"); 
 
    var b = document.getElementById("b"); 
 
    a.appendChild(b) 
 
}, 1000)
.border { 
 
    border: 1px solid black; 
 
    width: 100%; 
 
    max-width: 50px; 
 
    text-align: center; 
 
    margin: 5px 0; 
 
} 
 

 
.border div{ 
 
width: 80%; 
 
margin: 5px auto; 
 
}
<div id="a" class="border">A</div> 
 
<div id="b" class="border">B</div>

+1

感謝哥們,輝煌! – Ng21

2

使用元素的outerHTML如下:

document.getElementById("a").innerHTML = document.getElementById("b").outerHTML;

+0

糾正我,如果我錯了,它不適用於這種情況,但如果你這樣做,它不會刪除任何附加的事件處理程序? – freginold

+1

那麼它只會將'#a'的內容更改爲'#b'的外部HTML。 @KarenGrigoryan或@ Christian4423使用'appendChild'的答案將保留它們。但是我沒有看到關於事件的任何信息,也沒有看到問題中的移動/附加元素,所以我認爲OP只想要內容。 – debute

6

嘗試appendChild();

document.getElementById('a').appendChild(document.getElementById('b'));
<div id = "a" ></div> 
 
<div id ="b">child</div>

0

您可以複製代碼B標記的複印它outerHTML

document.getElementById("a").innerHTML = document.getElementById("b").outerHTML; 

然後,如果你想刪除b標籤使用

document.getElementById('b').remove(); 
相關問題