在不同的窗口中添加相同的节点

时间:2011-12-01 22:31:37

标签: javascript html append new-window

我想将在父窗口中创建的对象附加到子窗口:

div = document.createElement( "div" );
document.body.appendChild( div );
// Here come div's atts;
render = window.open().document;
render.body.appendChild( div );

但新的DIV仅附加到子窗口。如果我注释最后一行 - div将附加到父窗口。可以解决吗?

2 个答案:

答案 0 :(得分:3)

编辑,因为我误读了这个问题:

newelement = element.cloneNode(true); // true to clone children too

新窗口中仍然没有可以追加的HTML或正文。至少不是铬。

请改为尝试:

<html>
<body>
    <script>
        div = document.createElement( "div" );
        // add some text to know if it's really there
        div.innerText = 'text of the div';
        document.body.appendChild( div );
        // Here come div's atts;
        render = window.open().document;
        // create the body of the new document
        render.write('<html><body></body></html>');
        // now you can append the div
        render.body.appendChild( div );
        alert(render.body.innerHTML);
    </script>
</body>
</html>

答案 1 :(得分:1)

您是否尝试过创建该div的副本,然后将其附加到子代替原始div?

编辑:好的,那么是的,那将是cloneNode函数。

clone = div.cloneNode(true);
render = window.open().document;
render.body.appendChild(clone);