2011-01-11 4 views
3

純粋なJavascriptでdivを複製しようとしていますが、cloneNodeは重複ID(div_0)につながります。私はdiv_1、div_2としてIDをインクリメントしたい...と= { 'elemは'、 'div_1を'} SOMEVARする同じことを行う...おかげJavascriptで要素[div] [script]を複製する

<html> 
<head></head> 
<body> 
<div id="mydiv"> 
    <div id="div_0"> 
     <script type="text/javascript"> 
      <!-- 
      somevar = {'elem', 'div_0'}; 
      //--> 
     </script> 
     <p>HELLO</p> 
    </div> 
</div> 

<a href="#" onclick="cloning()">CLONE</a> 

<script type="text/javascript"> 
    function cloning() { 
     var container = document.getElementById('mydiv'); 
     var clone = document.getElementById('div_0').cloneNode(true); 
     container.appendChild (clone); 
    } 
</script> 
</body> 
</html> 
+0

'somevar'で同じことをどういう意味ですか? –

+0

は、基本的には親divの値を保持するvarです。してください、名前を省略してください – Mike

+0

あなたはより具体的にする必要があります。新しいdivが閉じられた後に 'somevar'オブジェクトの最終結果を表示してください。私があなたが望むものを知っていると仮定しないでください。ところで、その構文は無効です。これはキーでなければなりません:値または配列にする必要があります。 –

答えて

1

設定counter=0し、各cloning呼び出しの後インクリメントうcounter++ととclone.idを使用して'div_' + counter

+0

これは、深くクローンされたスクリプトタグの内容を変更するためのOPの質問を解決しません。 – Phrogz

4

に設定し、これを試してみてください。..

`

function cloning() { 
    var container = document.getElementById('mydiv'); 
    var clone = document.getElementById('div_0').cloneNode(true); 
    clone.setAttribute('id','div_'+document.getElementById('mydiv').getElementsByTagName('div').length); 
    container.appendChild (clone); 
} 
function cloning (e) { 
    if (typeof e === 'string') { 
     e = document.getElementById(e); 
    } 

    var clone = e.cloneNode(true), 
     last_inc = cloning.last_inc || parseInt(e.id.match(/(\d+)$/)[0], 10); 

    last_inc += 1; 

    clone.id = 'div_' + last_inc; 
    cloning.last_inc = last_inc; 

    e.parentNode.appendChild(clone); 
} 

あなたがどこかに、グローバル変数を更新したい場合は、あなたがreturn { "elem" : "div_" + last_inc };を行い、その結果を割り当てることができます。私はこれをテストする機会がなかったが、これはトリックを行う可能性があります`

+0

これはdiv idの仕事ですが、 '

  • 11. div要素が前のdivに重複するようにdiv
  • 12. HTML要素を複製するためのJavaScriptコードの作成方法は?
  • 13. 要素を複数回複製して挿入する
  • 14. キー要素の下で配列の複製をフィルタリングする
  • 15. リストビューで要素の複製を停止する方法は?
  • 16. JQueryで変数html要素を複製する方法
  • 17. リストボックスのjquery要素の複製
  • 18. ArrayListリストビューの複製要素の表示
  • 19. すべてのイベントを含む要素を複製する
  • 20. jQuery DIVを複製する方法「スライドイン」
  • 21. javascriptでdiv要素の値を取得する方法は?
  • 22. エントリとXMLをJavaScriptで複製する
  • 23. 複数の要素に複数のdivを表示する
  • 24. クラスを持つ要素を複製する
  • 25. カバーされたdiv要素のjavascriptイベント
  • 26. 配列内の複製要素の数をカウントする - C
  • 27. 複製されたsvg要素の属性を変更する
  • 28. 複製された要素の属性を変更する
  • 29. リストの各要素を任意の時間に複製する
  • 30. 要素をn回複製()する方法は?