Podczas usuwania elementu za pomocą standardowego JavaScript, musisz najpierw przejść do jego rodzica:
var element = document.getElementById("element-id");
element.parentNode.removeChild(element);
Konieczność przejścia najpierw do węzła nadrzędnego wydaje mi się nieco dziwna, czy istnieje powód, dla którego JavaScript działa w ten sposób?
Mógłbyś zrobić funkcję remove
, żebyś nie musiał się nad tym zastanawiać za każdym razem:
function removeElement(id) {
var elem = document.getElementById(id);
return elem.parentNode.removeChild(elem);
}
To jest to, co obsługuje DOM. Poszukaj na tej stronie "remove" lub "delete" i removeChild jest jedynym, który usuwa węzeł.
Z tego co rozumiem, usuwanie węzła bezpośrednio nie działa w Firefoksie, tylko w Internet Explorerze. Tak więc, aby wspierać Firefox, musisz przejść do rodzica, aby usunąć jego'dziecko.