應答後this question我在想,爲什麼removeChild
需要父元素。畢竟,我們可以簡單地做爲什麼removeChild需要父節點?
node.parentNode.removeChild(node);
由於父節點應該總是直接提供給Javascript/DOM引擎,它不是嚴格需要提供所要刪除的節點的父節點。
當然我明白removeChild
是DOM節點的方法,但爲什麼不存在像document.removeNode
這樣的東西(它只接受任意節點作爲參數)?
編輯:爲了更清楚,問題是:爲什麼JS引擎完全需要父節點,如果它已經有要刪除的(唯一)節點?
DOM是一個面向對象的概念。這意味着,如果存在'Node.prototype.remove'來移除節點本身比存在'Document.prototype.removeNode'來移除文檔中的節點更有意義。因爲後者只需通過調用節點父節點上的'removeChild'來實現。 – Gumbo 2010-08-06 09:29:58