true: ノードを完全にコピーします。完了とは、子ノードも含めてすべてをコピーすることを意味し、いわゆる完全な
false: 現在のノードのみを複製します。どのテキストにもそれを指すノード (テキスト ノード) があるため、子ノードのクローンは作成されません。また、もちろん、ラップするテキストのクローンも作成されません。
もちろん、場合によっては、この 2 つが汎用的に使用されることもあります。コピーされるノードは一致しません。たとえば、img...
誰もがより深く理解できるように、小さな例を示します。
span ノードを指す変数を定義します
var element = document.getElementsByTagName('span')[0 ];
次に
var t1 = element.cloneNode(false).innerHTML;/ /子ノードをコピーしません
var t2 = element.cloneNode(true).innerHTML;//すべてをコピーします
alert(t1); ;
はい、(空) "" と Shadow が順番に出力されます。
var t1 = textnode.cloneNode(false).nodeValue; t2 = textnode.cloneNode(true).nodeValue;
alert(t1);
alert(t2);
これは同時にシャドウを出力します。
[cloneNode bug]
上記のマルチレベルリンケージで述べたように、cloneNode はコンテナのコピーに使用されますが、cloneNode には IE にバグがあります。
ie では、attachEvent を使用してイベントを dom 要素にバインドすると、イベントは cloneNode の後にコピーされます。 addEventListener で追加されたイベントは、ie と ff でテストできません:
しかし、最初のバージョンではこのバグのため cloneNode が使用されませんでした。
解決策を探す前に、この問題を拡張して、onclick イベントを直接追加することで同じバグが発生するかどうかを確認してください。
最初に要素内に onclick を追加してテストします:
js に onclick を再度追加してテストします: