使用jQuery.each包装和追加数组元素

问题描述 投票:4回答:2

我正在为此而摧毁自己。不是必须经历的ind js。但这应该是简单的吗?

我想在<div class="mongol"></div>中将每个元素包装在我的'arr'数组中并将其附加到div#testBox。我使用jQuery.each这样做,但我没有得到任何东西:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type='text/javascript'>
  var arr = ["one", "two", "three", "four", "five"]

  jQuery.each(arr, function() {
    $(this).append("#testBox").wrap("<div class='mongol'></div>");
  });
</script>

如果我在我的jQuery.each函数中使用alert(this),那么它会提醒每个元素。我不明白。

我想要实现的目标:

<div id="testBox>
    	<div class=" mongol ">one</div>
    	<div class="mongol ">two</div>
    	<div class="mongol ">three</div>
    	<div class="mongol ">four</div>
    	<div class="mongol ">five</div>
    </div>
javascript jquery append each
2个回答
4
投票
var arr = [ "one", "two", "three", "four", "five" ]
    jQuery.each(arr, function(index, value) {
    $("#testBox").append("<div class='mongol'>" + value + '</div>');
 });

如果您的网站中有<div>,那就有效

<div id="testBox"></div>

7
投票

你在append()appendTo()混淆吗?您发布的代码会将testBox元素附加到您的每个数组项中,这可能不是您想要的(并且无论如何都不会工作)。尝试:

jQuery.each(arr, function(index, item) {
    jQuery("<div class='mongol'></div>").text(item).appendTo("#testBox");
});
© www.soinside.com 2019 - 2024. All rights reserved.