cómo eliminar las imágenes cargadas dinámicamente en JavaScript
-
20-09-2019 - |
Pregunta
Estoy cargando en 3 imágenes (llamado 1.jpg, 2.jpg, 3jpg) de forma dinámica a 3 divs llamados "div1", "div2" y "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);
}
}
Esto funciona, pero la eliminación de la parte que parece que no puede ir a trabajar ..
function removeImages() {
for (var i = 1; i < 3; i++ ) {
var oldImages = "a"+i+"";
var divName = "div"+i+"";
document.getElementById(divName).removeChild(oldImages);
}
}
Gracias.
Solución
En remove,
document.getElementById(divName).removeChild(document.getElementById(oldImages));
removeChild
toma un elemento de DOM, no una ID.
Otros consejos
En su retiro, "oldImages" es sólo una cadena diciendo "A1" o lo que sea. El parámetro a .removeChild necesita ser un elemento DOM real. Es necesario encontrar ya sea de nuevo (usando document.getElementById o atravesando los hijos del nodo div) o mantenga en torno a las referencias al elemento de imagen.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow