堀北真希うさぎ
主な作品
アイドルをモデルにしたオリジナルキャラクタのイラスト例とアニメーション動画

ページ案内

cloneNode()メソッド。

DOMに於いて、当該ノードのコピーノードを生成するcloneNode()メソッドの解説です。

cloneNode()メソッド・目次。

cloneNode()メソッドとは。

cloneNode()メソッドとは、当該ノードのコピーノードを生成するメソッドです。

生成されたコピーノードは、元のノードと違って文書との関係がまだ確立しておらず、従って文書が読み出し専用でない限り、文書内の任意の箇所に挿入する事が出来ます。

cloneNode()メソッドを実装するインタフェイス。

cloneNode()メソッドNodeインタフェイスに依って実装されます。

従って、DOMで扱える全てのノードでcloneNode()メソッドを得る事が出来ます。

cloneNode()メソッドの引数。

cloneNode()メソッドは以下の一つの引数を取ります。

  1. 当該ノードの子孫ノードも複製の対象とするか否かを真偽値で指定した値

cloneNode()メソッドの返し値は、生成されたコピーノードです。

cloneNode()メソッドのJAVAスクリプトでの使用例。

ある要素ノード e 内に於いて、href属性値が http:// で始まる全ての<a>要素の末尾に、<img>要素ノード im を追加する例です。

im そのものを挿入しようとすると、二回目以降に前回挿入した位置から除去されてしまうため、複製したコピーノードを挿入しております。

im=document.createElement('img');
im.setAttribute('src', '/image/icons/extenalSite.GIF');
im.setAttribute('alt', '(※外部サイト)');
im.setAttribute('width', '16');
im.setAttribute('heigth', '16');

var e1=e.getElementsByTagName('a');
var i=e1.length;
while (--i>=0) {
    if (e1[i].getAttribute('href').indexOf('http://')!=0) continue;
    e1[i].appendChild(im.cloneNode(true));
    }

cloneNode()メソッドに於ける注意事項。

cloneNode()メソッドで複製したノードは、複製元と同じ文書に属するノードにのみ挿入する事が可能です。

特に、Ajaxで外部から別の文書を取り込んだ場合、responseXML プロパティで得られるオブジェクトは元のHTML文書とは異なる文書となるため、単純に取得してきたXML文書の要素を元のHTML文書に附加する事やその逆の行為は出来ないと言う事になります。

関連事項

Nodeインタフェイス
ノードとして共通のメソッド/プロパティ
nodeTypeプロパティ
当該ノードの種類
nodeNameプロパティ
当該ノードに付けられた"名称"
nodeValueプロパティ
当該ノードが持つ"値"
ownerDocumentプロパティ
当該ノードを含んでいる文書
insertBefore()メソッド
指定された子ノードの直前に別のノードを挿入するメソッド
replaceChild()メソッド
指定された子ノードを別のノードに置換えるメソッド
removeChild()メソッド
指定された子ノードを除去するメソッド
appendChild()メソッド
指定されたノードを子ノードとして末尾に追加するメソッド
hasChildNodes()メソッド
子ノードがあるかどうかを判定するメソッド
cloneNode()メソッド
当該ノードのコピーを生成するメソッド

しらぎくのウェブサイト作成入門サイトマップ



marguerite.site@gmail.com