The read-only parentElement property of Node interface returns the DOM node's parent Element, or null if the node either has no parent, or its parent isn't a DOM Element. Node.parentNode on the other hand returns any kind of parent, regardless of its type.
An Element that is the parent element of the current node, or null if there isn't one.
This example sets the parent of node to have a red text color.
if (node.parentElement) {
node.parentElement.style.color = "red";
}parentElement can be null if the node has no parent (for example, because it isn't attached to a tree) or its parent is not an Element. On the other hand, Node.parentNode always returns the parent node, which may be a Document or other node types.
<!doctype html>
<html lang="en-US">
<body>
<script>
const html = document.querySelector("html");
console.log(html.parentElement); // null
console.log(html.parentNode); // document
</script>
</body>
</html>