代码之家  ›  专栏  ›  技术社区  ›  Ren Jitsm

使用普通JavaScript复制HTML元素。没有一份副本,应符合要求

  •  -2
  • Ren Jitsm  · 技术社区  · 5 年前

    如何使用Vanilla JS根据我们的定制需求复制HTML元素。我通常只看到复制一次,也就是说只复制一次。但当我点击一个按钮时,我需要复制元素两次。我还需要分配重复元素的自定义数量。怎么可能呢。下面是代码。

    以下是实施前的代码:

    <div class="container">Inner Content</div>
    <button id="button">Click</button>
    

    下面是我想当我点击按钮,现在它是2副本。我还需要分配副本的编号。这意味着如果我把它改为3,它应该是重复的3元素。

    <div class="container">Inner Content</div>
    <div class="container">Inner Content</div>
    <button id="button">Click</button>
    

    我尝试了以下代码:

    <button id="button">Click</button>
    <div class="container">Element Content</div>
    <script>
    let button=document.querySelector('#button'); 
    let container=document.querySelector('.container'); 
    function cloneit() {
    let cloneip = container.cloneNode(true); 
    document.body.appendChild(cloneip); 
    }
    button.addEventListener('click', cloneit); 
    </script>
    

    提前谢谢。

    1 回复  |  直到 5 年前
        1
  •  0
  •   Jayr    5 年前

    您可以按如下方式操作:

    for(i=1;i<3;i++){
        // Clone element
        let clone = document.querySelector('.container').cloneNode( true );
        
        // Change ID of clone with the current i state
        clone.setAttribute( 'id', i );
        
        // Append the newly created element on element p 
        document.body.appendChild( clone );
    }