The Node.ownerDocument read-only property returns the top-level document object for this node.


document = element.ownerDocument
  • document is the document object parent of the current element.


// given a node "p", get the top-level HTML child 
// of the document object

var d = p.ownerDocument; 
var html = d.documentElement;


The document object returned by this property is the main object with which all the child nodes in the actual HTML document are created. If this property is used on a node that is itself a document, the result is null.


Specification Status Comment
The definition of 'Node.ownerDocument' in that specification.
Working Draft  
Document Object Model (DOM) Level 3 Core Specification
The definition of 'Node.ownerDocument' in that specification.
Recommendation No change
Document Object Model (DOM) Level 2 Core Specification
The definition of 'Node.ownerDocument' in that specification.
Recommendation Initial definition

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes)[1] 6.0[2] (Yes) ?
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? (Yes)[1] ? ? ?

[1] Starting in Gecko 9.0 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6), the ownerDocument of doctype nodes (that is, nodes for which Node.nodeType is Node.DOCUMENT_TYPE_NODE or 10) is no longer null. Instead, the ownerDocument is the document on which document.implementation.createDocumentType() was called.


Document Tags and Contributors

 Last updated by: jonathanKingston,