キーワードdocument
は、referenceを文書に提供します。コピーではありません。したがって、あなたの例では、documentCopy
に変更するとは元の文書に影響します。
ブラウザでは、ドキュメント階層はリンクされた「ノード」オブジェクトとして管理されているため、すべてのオブジェクトとその現在の状態を単に「コピー」する方法はありません。あなたは、文字列としてのHTMLの内容を取得し、そのHTMLマークアップを使用してDOMに新しいノードを挿入する必要があるノードオブジェクトの新しい「コピー」を、得るために
:
// get the original body HTML
var bodyHTML = document.body.innerHTML;
// create a new div and set its contents
var copiedNode = document.createElement("div");
copiedNode.innerHTML = bodyHTML;
// inser the new nodes
document.body.appendChild(copiedNode);
// modify the copied nodes
copiedNode.firstElementChild.setAttribute("style", "color: blue");
<p style="color: red;">paragraph one</p>
本当の疑問は、なぜ地球上で何かそんなものが必要なのでしょうか? – adeneo
@adeneo generate pdf doc – Ezeewei
何を試しましたか? – j08691