The Range.cloneContents() returns a DocumentFragment copying the objects of type Node included in the Range.

Event Listeners added using DOM Events are not copied during cloning. HTML attribute events are duplicated as they are for the DOM Core cloneNode method. HTML id attributes are also cloned, which can lead to an invalid document through cloning.

Partially selected nodes include the parent tags necessary to make the document fragment valid.


documentFragment = range.cloneContents();


range = document.createRange();
documentFragment = range.cloneContents();


Specification Status Comment
The definition of 'Range.cloneContents()' in that specification.
Living Standard No change.
Document Object Model (DOM) Level 2 Traversal and Range Specification
The definition of 'Range.cloneContents()' in that specification.
Obsolete Initial specification.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes499 Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes4 Yes Yes ?

See also

Document Tags and Contributors

Contributors to this page: fscholz, abbycar, teoli, afreen, shubham.hatwar, Sheppy, SkyLined, Gor1
Last updated by: fscholz,