Rimuovere l'elemento per id

Quando si rimuove un elemento con JavaScript standard, si deve andare prima al suo genitore:

var element = document.getElementById("element-id");
element.parentNode.removeChild(element);

Dover andare prima al nodo padre mi sembra un po' strano, c'è una ragione per cui JavaScript funziona così?

Si potrebbe fare una funzione rimuovi in modo da non doverci pensare ogni volta:

function removeElement(id) {
    var elem = document.getElementById(id);
    return elem.parentNode.removeChild(elem);
}
Commentari (10)

È ciò che il DOM supporta. Cerca in quella pagina per "remove" o "delete" e removeChild è l'unico che rimuove un nodo.

Commentari (5)

Da quello che ho capito, rimuovere un nodo direttamente non funziona in Firefox, ma solo in Internet Explorer. Quindi, per supportare Firefox, devi andare fino al genitore per rimuovere il figlio.

Rif: http://chiragrdarji.wordpress.com/2007/03/16/removedelete-element-from-page-using-javascript-working-in-firefoxieopera/

Commentari (1)