.cloneContents()

Range.cloneContents()は、 Rangeに含まれるNodeのオブジェクトを複製したDocumentFragment(ドキュメントの断片)を返します。

DOMイベントを使用して追加されたイベントリスナーは、この複製には含まれません。 HTML属性イベントは、DOMのCoreのCloneNodeメソッドのため重複されます。(翻訳に自信なし) また、HTMLのid属性も複製され、複製の処理を通して正しくないドキュメントが読み込まれる可能性があります。

部分的(不完全な)に選択されたノードは、正当なDocumentFragment(ドキュメントの断片)を作るために必須である親タグを含みます。

文法

documentFragment = range.cloneContents();

例

// レンジ(Range)オブジェクトを作成
range = document.createRange();
// 1つ目のDIVを選択
range.selectNode(document.getElementsByTagName("div").item(0));
// 上記で選択したレンジから、ドキュメントの断片として複製
documentFragment = range.cloneContents();
// 複製したドキュメントの断片をBody内に追加
document.body.appendChild(documentFragment);

仕様

ブラウザ互換性

デスクトップ
機能 Chrome Firefox
(Gecko)
IE Opera Safari
基本 ◯ 1.0 (1.7 or earlier) 9.0 9.0 ◯
モバイル
機能 Android Firefox
Mobile
IE
Mobile
Opera
Mobile
Safari
Mobile
基本 ◯ 1.0 (1.0) 9.0 9.0 ◯

関連項目

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。