mozilla
Your Search Results

    Node.cloneNode

    概要

    現在のノードの複製を返します。

    構文

    var dupNode = node.cloneNode(deep);
    
    node
    複製するノード
    dupNode
    新しく生成される node の複製
    deep Optional
    node の子孫ノードも複製する場合は truenode のみを複製する場合は false

    注記: DOM4 の仕様では (Gecko 13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10) で実装) 、 deep は省略可能な引数です。省略された場合、 deep には true が渡され、深い複製を生成します。浅い複製を生成するには、 deepfalse にする必要があります。

    以前のDOMの仕様を実装しているブラウザでは、 deep は必須の引数です。

    var p = document.getElementById("para1");
    var p_prime = p.cloneNode(true);
    

    注記

    ノードを複製すると、そのノードのすべての属性とその値がコピーされます。つまり、HTML属性のイベントを含みます。addEventListener() を使用したものや、要素のプロパティに代入されたもの (例: node.onclick = fn;) は複製されません。

    cloneNode によって返される複製ノードは、 Node.appendChild() や同種のメソッドによってドキュメントの一部である他のノードに追加されるまでは、ドキュメントの一部ではありません。また、他のノードに追加されるまでは、親ノードを持ちません。

    deepfalse に設定されていると、どの子ノードも複製されません。 そのため、そのノードに含まれる Text ノードも複製されません。

    deeptrue に評価できる場合、サブツリー全体 (子 Text ノードにあるテキストを含む) もコピーされます。 <img><input> 要素などの空ノードの場合には deep を true と false のどちらに設定してもかまいません。

    注意: cloneNode() を使用すると、ドキュメント内で要素の id が重複する可能性があります。

    別のドキュメントに追加するためにノードを複製する場合は、代わりに Document.importNode() を使用してください。

    ブラウザ実装状況

    機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
    基本サポート (有) (有) (有) (有) (有)
    deep 引数の省略 Yes
    (初期値は false)
    13.0 (13.0) ? ? Yes
    (初期値は false)
    機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    基本サポート (有) (有) (有) (有) (有) (有)
    deep 引数の省略 ? ? 13.0 (13.0) ? ? ?

    仕様書

    ドキュメントのタグと貢献者

    Contributors to this page: AshfaqHossain, Mgjbot, ethertank, Shoot, dextra, teoli, Potappo
    最終更新者: AshfaqHossain,