我遇到了一個奇怪的問題。我試圖做一個程序,將添加和刪除div內的另一個稱爲「身體」的div。要添加div,我使用document.getElementById("body").innerHTML
。添加工作正常。但是,在刪除功能中,我將「body」id替換爲將被刪除的div的id。但是當我運行代碼時,出現錯誤「無法設置null的innerHTML」。我試圖用一個固定的局部變量替換id變量,它工作正常。我也嘗試給變量添加引號,但這也不起作用。我有什麼理由不能將id設置爲變量變量?謝謝。刪除Div中的最後一個元素[JavaScript]
這裏是我的代碼:
var i = 1;
function myFunction() {
var addDiv = document.getElementById("body2");
addDiv.innerHTML += "<div id = '" + i + "'><br><textarea id = '1' > foo < /textarea></div > ";
i++;
}
function myFunction2() {
var deleteDiv = document.getElementById(i);
deleteDiv.innerHTML = "";
i--;
}
<div id="body2">
<div id="0">
<textarea id="text">lol</textarea><button onclick="myFunction()">Add</button>
<button onclick="myFunction2()">Delete</button>
</div>
</div>
就像旁邊一樣,document.getElementById(「body」)。innerHTML可以縮短爲document.body.innerHTML https://developer.mozilla.org/en-US/docs/Web/API/Document/body – Orangesandlemons
不建議使用原始數值作爲ID(在整個頁面中應該是唯一的)。我建議使用前綴,比如'id ='myprefix _「+ i +」'' – Kaddath