HTML DOM Element previousSibling attribute

Definition and Usage

previousSibling The attribute returns the previous node at the same tree level as a Node object.

previousSibling The attribute is read-only.

Comment:If there is no previousSibling node, the returned value is null.

Note

previousSibling Returns the previous sibling node: element node, text node, or comment node.

Whitespace between elements is also a text node.

Alternative solution:

previousElementSibling attribute - Returns the previous sibling element (ignores text and comment nodes).

See Also:

nextSibling Property

firstChild Property

lastChild Property

childNodes Property

hasChildNodes() Property

HTML Node and Element

In HTML DOM(Document Object Model), the HTML document is a collection of nodes that have (or do not have) child nodes.

NodeRefers to element nodes, text nodes, and comment nodes.

ElementThe whitespace between them is also a text node.

While elements are just element nodes.

Sibling vs Element Sibling

SiblingIs 'brother' and 'sister'.

SiblingIs a node that has the same parent node (in the same childNodes in the list).

Element SiblingIs an element that has the same parent element (in the same children in the list).

Child Node vs Child Element

childNodes ReturnsChild Node(Element node, text node, and comment node).

children ReturnsChild Element(Not text and comment nodes).

nextSibling vs nextElementSibling

nextSibling Returns the nextNode(Element node, text node, or comment node). The whitespace between elements is also a text node.

nextElementSibling Returns the nextElement(Does not return text and comment nodes).

previousSibling vs previousElementSibling

previousSibling Returns the previousNode(Element node, text node, or comment node). The whitespace between elements is also a text node.

previousElementSibling Returns the previousElement(Does not return text and comment nodes).

Example

Returns the HTML content of the previous sibling of the list item:

document.getElementById("item2").previousSibling.innerHTML;

Try It Yourself

Syntax

element.previousSibling

or

node.previousSibling

Return Value

Type Description
Node The previous sibling node of the node.
null If there is no preceding sibling.

Browser Support

element.previousSibling It is a DOM Level 1 (1998) feature.

All browsers fully support it:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Support 9-11 Support Support Support Support