Обтекание и добавление элемента массива с помощью jQuery.each - PullRequest
4 голосов
/ 15 февраля 2011

Я разрушаю себя из-за этого.Не обязательно опытный инд.Но это должно быть просто, верно?

Я хочу обернуть каждый элемент в моем массиве 'arr' в <div class="mongol"></div> и добавить его к 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>

Если я alert(this) в моей jQuery.each-функции, то он прекрасно предупреждает каждый элемент.Я не понимаю

Чего я пытаюсь достичь:

<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>

Ответы [ 2 ]

7 голосов
/ 15 февраля 2011

Вы путаете append () с appendTo () ?Размещенный вами код добавит элемент testBox к каждому из элементов массива, что, вероятно, не то, что вам нужно (и все равно не будет работать).Попробуйте:

jQuery.each(arr, function(index, item) {
    jQuery("<div class='mongol'></div>").text(item).appendTo("#testBox");
});
4 голосов
/ 15 февраля 2011
var arr = [ "one", "two", "three", "four", "five" ]
    jQuery.each(arr, function(index, value) {
    $("#testBox").append("<div class='mongol'>" + value + '</div>');
 });

Это работает, если у вас есть

как на вашем сайте
<div id="testBox"></div>
...