Sau khi trả lời this question Tôi đang tự hỏi tại sao removeChild
cần một phần tử gốc. Sau khi tất cả, chúng tôi chỉ có thể làmTại sao removeChild cần một nút cha?
node.parentNode.removeChild(node);
Vì nút cha phải luôn có sẵn trực tiếp cho công cụ Javascript/DOM, không cần thiết phải cung cấp nút cha của nút cần xóa.
Tất nhiên tôi hiểu nguyên tắc removeChild
là một phương thức của nút DOM, nhưng tại sao không có thứ gì đó như document.removeNode
tồn tại (chỉ đơn thuần chấp nhận một nút tùy ý làm tham số)?
EDIT: Để rõ ràng hơn, câu hỏi đặt ra là: tại sao công cụ JS cần nút gốc ở tất cả, nếu nó đã có nút (duy nhất) cần xóa?
DOM là một khái niệm hướng đối tượng. Điều đó có nghĩa là nó sẽ có ý nghĩa hơn nếu 'Node.prototype.remove' sẽ tồn tại để loại bỏ các nút chính nó hơn nếu' Document.prototype.removeNode' sẽ tồn tại để loại bỏ một nút từ tài liệu. Bởi vì sau này sẽ được thực hiện đơn giản bằng cách gọi 'removeChild' trên nút cha của nút. – Gumbo