一尘不染

DOM parentNode和parentElement之间的区别

javascript

有人可以用尽可能简单的方式解释我吗,经典DOMparentNode和Firefox9parentElement中新引入的有什么区别?


阅读 717

收藏
2020-05-01

共1个答案

一尘不染

parentElement 是Firefox 9和DOM4的新功能,但是它已经存在于所有其他主流浏览器中已有很长时间了。

在大多数情况下,它与相同parentNode。唯一的区别是节点parentNode不是元素时。如果是,parentElement则为null

举个例子:

document.body.parentNode; // the <html> element
document.body.parentElement; // the <html> element

document.documentElement.parentNode; // the document node
document.documentElement.parentElement; // null

(document.documentElement.parentNode === document);  // true
(document.documentElement.parentElement === document);  // false

由于<html>element(document.documentElement)没有作为元素的父元素,因此parentElementis
null。(还有其他可能性较小的情况parentElement可能是null,但您可能永远都不会遇到它们。)

2020-05-01