come rimuovere le immagini caricate dinamicamente in JavaScript
-
20-09-2019 - |
Domanda
Sto caricando in 3 immagini (di nome 1.jpg, 2.jpg, 3jpg) dinamicamente a 3 div chiamato "div1", "div2" e "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);
}
}
che funziona, ma la parte la rimozione non riesco a mettersi al lavoro ..
function removeImages() {
for (var i = 1; i < 3; i++ ) {
var oldImages = "a"+i+"";
var divName = "div"+i+"";
document.getElementById(divName).removeChild(oldImages);
}
}
Grazie.
Soluzione
Nel rimuovere,
document.getElementById(divName).removeChild(document.getElementById(oldImages));
removeChild
prende un elemento DOM, non un ID.
Altri suggerimenti
Nel vostro rimozione, "oldImages" è solo una stringa che dice "A1" o qualsiasi altra cosa. Il parametro di .removeChild deve essere un vero e proprio elemento DOM. Hai bisogno di trovare sia di nuovo (utilizzando document.getElementById o attraversando i figli del nodo div) o tenere attorno ai riferimenti al elemento dell'immagine.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow