0

すべての要素を完全にコピーしたい

<div id="articleFull"> ... </div>

(+ div を含む) 新しいポップアップ ウィンドウにコンテンツを表示

<div id="newPopUp"> ... </div>
<div id="articleFull">
    <p>lorem ipsum</p>
    <img src="1.png" />
    <p>lorem ipsum</p>
    <p>lorem ipsum</p>
    <h3>Test title</h3>
    <img src="1.png" />
    <p>lorem ipsum</p>
</div>

この簡単な方法を試してみました: http://jsfiddle.net/ApBSN/3/

articleFull = document.getElementById('articleFull');

function copyHtml(){
    div = document.createElement('div')
    div.id = 'newPopUp';
    document.body.appendChild(div);

    var t = document.getElementById('articleFull');
    div.appendChild(t);
} 

それは機能します...しかし、関数はコードをコピーせず、ある場所から別の場所に移動し、元の場所から効果的に削除します。ブロックを複製したいだけです。はい、ページが2つの「ID」になれないことは承知しておりますが、これでさらに気を引き締めます。

アイデア?

4

2 に答える 2

3

Jqueryに興味がある場合は、クローンを試すことができます... http://api.jquery.com/clone/これにより、追加の場合のようにHTMLが置き換えられるのではなく、HTMLが複製されます。

http://jsfiddle.net/ApBSN/9/を更新しましたが、cssで作業する必要があります

var t1 = document.getElementById('newPopUp');

var t = document.getElementById('articleFull');

$(t).clone().appendTo(t1);
于 2012-11-14T17:48:46.197 に答える
0

私が正しく理解していれば、これでうまくいくはずです:

function copyHtml(){
    div = document.createElement('div')
    div.id = 'newPopUp';
    document.body.appendChild(div);

    var t = document.getElementById('articleFull');
    t.id = "articleFull2";
    div.appendChild(t);
}
于 2012-11-14T17:39:04.030 に答える