كيفية إزالة الصور المحملة ديناميكيًا في JavaScript

StackOverflow https://stackoverflow.com/questions/2467056

  •  20-09-2019
  •  | 
  •  

سؤال

أقوم بتحميل 3 صور (اسمه 1.JPG ، 2.JPG ، 3JPG) ديناميكيًا إلى 3 divs يسمى "div1" ، "div2" و "div3".

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 ، وليس معرف.

نصائح أخرى

في إزالتك ، "Oldimages" هي مجرد سلسلة تقول "A1" أو أي شيء آخر. يجب أن تكون المعلمة إلى .removechild عنصر DOM فعلي. تحتاج إلى العثور عليه مرة أخرى (باستخدام document.getElementById أو عن طريق اجتياز أطفال عقدة Div) أو الحفاظ على الإشارات إلى عنصر الصورة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top