简体   繁体   English

如何在HTML中重复div元素n次?

[英]How to repeat div element n times in HTML?

How can I duplicate a <div> so there are n copies using JavaScript? 如何复制<div>所以使用JavaScript有n个副本?

Start with 1: 从1开始:

<div class="box"></div>

End up with 5: 最终得到5:

<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>

Using the pure JS node.cloneNode : 使用纯JS node.cloneNode

https://developer.mozilla.org/en-US/docs/Web/API/Node/cloneNode https://developer.mozilla.org/en-US/docs/Web/API/Node/cloneNode

function multiplyNode(node, count, deep) {
    for (var i = 0, copy; i < count - 1; i++) {
        copy = node.cloneNode(deep);
        node.parentNode.insertBefore(copy, node);
    }
}

multiplyNode(document.querySelector('.box'), 5, true);

Pass true as third argument to multiplyNode to copy child nodes too. true作为multiplyNode第三个参数传递给复制子节点。

Here's a demo. 这是一个演示。

Edit: 编辑:

With ES6 condensed syntax, the above example becomes: 使用ES6精简语法,上面的示例变为:

const node = document.querySelector('.box');
[...Array(5)].forEach(_ => node.parentNode.insertBefore(node.cloneNode(true), node));

Take a look at the fiddle to get your result 看看小提琴,得到你的结果

https://jsfiddle.net/dcpg4v1c/ https://jsfiddle.net/dcpg4v1c/

 $(document).ready(function(){ for(var i = 0; i< 5; i++) $("#dvMain").append("<div class='row'>Test</div>"); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id='dvMain'></div> 

Create a container div with a id and place <div class="box"></div> inside it. 创建一个带id的容器div,并在其中放置<div class="box"></div> Then using jQuery you can run a loop for desired number of time and append divs like 然后使用jQuery,您可以运行一个循环所需的时间并附加div之类的

jQuery("#container_div_id").append(jQuery("#container_div_id").children().first().clone())

Check fiddle 检查小提琴

Make use of php with apache server, change the extension from .html to .php and use: 利用php与apache服务器,将扩展名从.html更改为.php并使用:

<?php

for ($i = 1; $i <= 10; $i++) {
    echo "<div id='box'></div>";
}

?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM