0

「div1」、「div2」、「div3」という 3 つの div に 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);
}

}

ありがとうございました。

4

2 に答える 2

2

削除では、

document.getElementById(divName).removeChild(document.getElementById(oldImages));

removeChildID ではなく DOM 要素を取ります。

于 2010-03-18T01:30:22.083 に答える
0

あなたの削除では、「oldImages」は「a1」などの単なる文字列です。.removeChild へのパラメーターは、実際の DOM 要素である必要があります。(document.getElementById を使用するか、div ノードの子をトラバースして) 再度検索するか、画像要素への参照を保持する必要があります。

于 2010-03-18T01:29:01.620 に答える