Αφαίρεση στοιχείου με id

Όταν αφαιρείτε ένα στοιχείο με την τυπική JavaScript, πρέπει πρώτα να μεταβείτε στον γονέα του:

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

Το να πηγαίνετε πρώτα στον γονικό κόμβο μου φαίνεται λίγο περίεργο, υπάρχει κάποιος λόγος που η JavaScript λειτουργεί έτσι;

Θα μπορούσατε να φτιάξετε μια συνάρτηση "αφαίρεσης" ώστε να μην χρειάζεται να το σκέφτεστε κάθε φορά:

function removeElement(id) {
    var elem = document.getElementById(id);
    return elem.parentNode.removeChild(elem);
}
Σχόλια (10)

[Αυτό υποστηρίζει το DOM][1]. Ψάξτε σε αυτή τη σελίδα για "remove" ή "delete" και το removeChild είναι το μόνο που αφαιρεί έναν κόμβο.

[1]: https://developer.mozilla.org/en-US/docs/Web/API/element#Methods "Gecko DOM Reference - element methods&quot,

Σχόλια (5)

Απ' ό,τι καταλαβαίνω, η απευθείας αφαίρεση ενός κόμβου δεν λειτουργεί στον Firefox, αλλά μόνο στον Internet Explorer. Έτσι, για να υποστηρίξετε τον Firefox, πρέπει να πάτε μέχρι τον γονέα για να αφαιρέσετε το παιδί του.

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

Σχόλια (1)