Salve, cercherò di essere il più chiaro possibile cosi che possa dare a voi la possibilità di aiutarmi.
Ho inserito nella mia pagina un img con la funzione onclick="creadiv()"
Questa funzione mi permette di creare un div all'interno di un altro div con un immagine X all'interno che mi permette di cancellarlo cliccandoci di sopra, quindi questa immagine richiama una funzione di rimozione.
Fino a qui funziona tutto perfettamente, Poi quando clicco nuovamente sull'immagine che ha come funzione creadiv(). Essa mi crea il div e quando provo a cancellarlo me lo cancella correttamente, il problema sorge quando provo a cancellare il div creato precedentemente, non lo cancella più.
Sembra che la funzione rimozione mi permette di cancellare soltanto l'ultimo div creato.
Questo non lo capisco, dato che ogni volta che creo il div genero anche un id univoco e quindi la funzione dovrebbe eliminare il div con variabile id.
codice://QUI SELEZIONO L'ICONA PRENDENDO IL NOME DELL'IMMAGINE ED ELIMINANDO TUTTI GLI SPAZI E CARATTERI SPECIALI COSI DA POTERLO USARE PER DARE IL NOME AGLI ID DEI DIV CHE CREERO' function selezionaicona(nome) { newstring=nome.split(' ').join(''); newstring2=newstring.split('/').join(''); newstring3=newstring2.split('.png').join(''); //MATERIALE E' IL DIV CHE CONTERRA' QUESTI DIV CHE CREERO' newdivimg=document.createElement('div'); newdivimg.setAttribute('id', newstring3); newdivimg.setAttribute('class', 'newdivimg'); document.getElementById("materiale").appendChild(newdivimg); $( "#"+newstring3).draggable({containment: "parent" }); //* QUI CREO L'IMMAGINE ALL'INTERNO DEL DIV CREATO CHE PERMETTE DI CANCELLARLO newdeleteimg=document.createElement('img'); newdeleteimg.setAttribute('src', 'img/deleteimg.png'); newdeleteimg.setAttribute('onclick', 'deleteimg()'); newdeleteimg.setAttribute('class', 'newdeleteimg'); document.getElementById(newstring3).appendChild(newdeleteimg); } // QUI LA FUNZIONE DI ELIMINAZIONE DEL DIV CREATO function deleteimg(){ divimgdelete = document.getElementById(newstring3); divimgdelete.parentNode.removeChild(divimgdelete); }

Rispondi quotando
