簡體   English   中英

JavaScript 如何移除一個孩子

[英]JavaScript How to remove a child

使用javascript,我添加了兩個按鈕,一個將添加圖片,另一個將刪除圖片。 我只是在准備考試...

添加圖片的按鈕和功能很好用,我正在為刪除圖片的功能而苦苦掙扎。 如果我將兩個按鈕和圖片添加到網站,並為圖片添加一個id,並通過該id刪除該圖片。 但是如果我只有兩個按鈕並嘗試開始添加圖片,那么我將沒有ID,所以我迷路了!

下面的 deleteMe 函數可以很好地刪除第一張圖片。 但是我在加載網站時不想有任何圖片,我只想有兩個按鈕來添加和刪除。 所以我不知道如何刪除元素。 到目前為止,這是我對這兩個功能的了解,謝謝!!!:

function deleteMe(){
    var toDelete = document.getElementById('image23');
    toDelete.parentNode.removeChild(toDelete);
}

function addMe(){

    var img = document.createElement('IMG');
    img.setAttribute("src", "elephant.jpg");
    img.setAttribute("width", "60");
    img.setAttribute("height", "60");
    document.body.appendChild(img);

}
document.body.removeChild(toDelete);

我想你忘了給你正在創建的圖像提供一個 ID。

您正在使用:

var toDelete = document.getElementById('image23');

要獲取您要刪除的圖像,但您永遠不會將該 id 分配給圖像。 要在制作圖像時添加 ID,請使用:

img.setAttribute("id", "image23");

或者

img.id = 'image23'

編輯

如果您允許添加多個圖像,並且只想一次刪除它們,那么我認為 sakurashinken 評論的方法可能更理想,但不是通過以下方式抓取:

document.getElementsByTagName("IMG")[0]

您應該使用一個類,以防您的頁面上有其他圖像。

這將使您的新 addMe:

...
img.setAttribute("src", "elephant.jpg");
img.className = 'deletebybutton';
img.setAttribute("width", "60");
...

還有你的新 deleteMe:

var toDelete = document.getElementsByClassName("deletebybutton")[0];
toDelete.parentNode.removeChild(toDelete);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM