jQuery - 追加一个元素特定次数?

Joo*_*nas 5 html jquery append count

让我们说在这种情况下,我有4个div称为".CountThese",我想这样做,获取具有该特定类的元素数量,然后追加div的次数与".CountThese"的数量相同(在这种情况下4次)

这是html:

<div class="CountThese"></div>
<div class="CountThese"></div>
<div class="CountThese"></div>
<div class="CountThese"></div>

<div class="appendHere"></div>
Run Code Online (Sandbox Code Playgroud)

这将是结果:

<div class="CountThese"></div>
<div class="CountThese"></div>
<div class="CountThese"></div>
<div class="CountThese"></div>

<div class="appendHere">
   <div class="appendedDIVs"></div>
   <div class="appendedDIVs"></div>
   <div class="appendedDIVs"></div>
   <div class="appendedDIVs"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我到目前为止,我发现你可以计算这样的元素数:

function divcount() {
   var Count =  $('.CountThese').length(); 
   document.write(Count)
}
Run Code Online (Sandbox Code Playgroud)

以为我不一定知道如何使用它...我真的不知道我怎么可以使用该数字来附加div或其他任何事情..

怎么能实现这一目标?

Don*_*ias 7

您可以遍历.CountThese div并为每个div添加.appendHere

$('.CountThese').each(function(){
  $('.appendHere').append('<div class="appendedDivs"></div>');
});
Run Code Online (Sandbox Code Playgroud)


T J*_*T J 6

您可以使用数组join()方法避免手动迭代,如:

$(".appendHere").append(new Array(++n).join('<div class="appendedDivs">New!</div>'));
Run Code Online (Sandbox Code Playgroud)

其中n是您要创建的元素数.

这比接受的答案更好,因为它只操作DOM一次而不是n时间.


var n = $(".CountThese").length;
$(".appendHere").append(new Array(++n).join('<div class="appendedDivs">New!</div>'));
Run Code Online (Sandbox Code Playgroud)
.CountThese {
  display: inline-block;
  width: 46px;
  height: 50px;
  background: royalblue;
}
.appendedDivs {
  display: inline-block;
  height: 30px;
  line-height: 30px;
  padding: 5px;
  margin-right:5px;
  color: gold;
  font-weight: bold;
  background: dodgerblue;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="CountThese"></div>
<div class="CountThese"></div>
<div class="CountThese"></div>
<div class="CountThese"></div>

<div class="appendHere"></div>
Run Code Online (Sandbox Code Playgroud)