2017-02-07 55 views
-1

我正在運行w3schools的代碼來動態添加按鈕到頁面。這是代碼。document.body.appendChild()不能與<form>

<!DOCTYPE html> 
 
    <html> 
 
    <body> 
 
    <p>Click the button to make a BUTTON element with text.</p> 
 
    <button onclick="myFunction()">Try it</button> 
 
    <script> 
 
    function myFunction() { 
 
     var btn = document.createElement("BUTTON"); 
 
     var t = document.createTextNode("CLICK ME"); 
 
     btn.appendChild(t); 
 
     document.body.appendChild(btn); 
 
    } 
 
    </script> 
 
    </body> 
 
    </html>

但是,當我有一個<form>標籤這個充滿活力的另外不起作用。我可以在不需要移除<form>標籤的情況下使JavaScript適應動態按鈕的哪些變化?

+0

到底是什麼問題?我不明白你的陳述「但是當我有一個標籤時,這種動態添加不起作用」。 –

+0

不確定你的意思是「當我有標籤時不工作」。你應該努力工作。選中此項:https://jsfiddle.net/mspinks/tcgmf8r7/2/ –

+0

您在嘗試使用哪種瀏覽器? – putvande

回答

1

function myFunction() { 
 
    var btn = document.createElement("BUTTON"); 
 
    var t = document.createTextNode("CLICK ME"); 
 
    btn.appendChild(t); 
 
    document.getElementById('theForm').appendChild(btn); 
 
} 
 
</script>
<p>Click the button to make a BUTTON element with text.</p> 
 
<button onclick="myFunction()">Try it</button> 
 
<form id="theForm"> 
 
</form>

+0

這工作。感謝您向我展示正確的用法。 –

+0

因此,如果我在窗體內部有一個div標籤,實現會再次發生變化?我試圖爲div標籤提供一個id,並通過getElementById訪問它。但是這並不起作用 –

+0

如果我的代碼如下所示,該解決方案不起作用:function myFunction(){ var btn = document.createElement(「BUTTON」); var t = document.createTextNode(「CLICK ME」); btn.appendChild(t); document.getElementById('theForm')。appendChild(btn); }

單擊此按鈕可以創建帶有文本的BUTTON元素。