JavaScriptで動的にロードされた画像を削除する方法
-
20-09-2019 - |
質問
私は3つの "DIV1"、 "DIV2" と呼ばれるdiv要素と "DIV3" に動的に3枚の画像(命名1.JPG、2.JPG、3jpg)にロードしています。
function loadImages() {
for (var i = 1; i < 3; i++ ) {
var img = document.createElement("img");
img.src = "vegetables/"+i+".jpg";
img.id = "a"+i+"";
var divName = "div"+i+"";
document.getElementById(divName).appendChild(img);
}
}
それに動作しますが、私は仕事を得るように見えることはできません..
一部を除去function removeImages() {
for (var i = 1; i < 3; i++ ) {
var oldImages = "a"+i+"";
var divName = "div"+i+"";
document.getElementById(divName).removeChild(oldImages);
}
}
ありがとうございます。
解決
削除で、
document.getElementById(divName).removeChild(document.getElementById(oldImages));
removeChild
はDOM要素ではなく、IDをとる。
他のヒント
あなたの除去には、「oldImages」「A1」または何を言っ単なる文字列です。 .removeChildへのパラメータは、実際のDOM要素にする必要があります。あなたは再びそれを見つける(のdocument.getElementByIdを使用したりするdivノードの子を横断することによって)、または画像要素への参照を中心に保つためにどちらかの必要はあります。
所属していません StackOverflow