Javascript 在数组内追加值数组-jquery

Javascript 在数组内追加值数组-jquery,javascript,jquery,arrays,foreach,each,Javascript,Jquery,Arrays,Foreach,Each,我有一个数组,数组中的值需要附加到,但不知何故。underline.js的每个()函数都不能按预期工作 数组:var arr=[[20-12-2012],[Text'],[01-02-2012],[Text2'],…] 我的函数的外观: _(arr).each(function (row, i) { $('<div class="wrap"></div>').appendTo('#mainWrap'); _(row).each(function (line)

我有一个数组,数组中的值需要附加到
,但不知何故
underline.js的每个()
函数都不能按预期工作

数组
var arr=[[20-12-2012],[Text'],[01-02-2012],[Text2'],…]

我的函数的外观:

_(arr).each(function (row, i) {
   $('<div class="wrap"></div>').appendTo('#mainWrap');

   _(row).each(function (line) {
       $('<span>' + line + '</span>').appendTo('.wrap');
   });
});
但我希望它是:

<div id="mainWrap">
  <div class="wrap">
    <span>20-12-2012</span><span>Text</span>
  </div>
  <div class="wrap">
    <span>01-02-2012</span><span>Text2</span>
  </div>
</div>

20-12-2012正文
01-02-2012文本2

您需要选择需要附加到的
.wrap
.wrap
将选择所有已附加class
wrap
的元素,并将跨度附加到所有元素,因此您可以看到此行为

尝试:

\(arr).每个(函数)(行,i){
var$wrap=$('').appendTo('#mainWrap');//将wrap保存在此处
_(行)。每个功能(行){
$(''+行+'').appendTo($wrap);//附加到上一个循环中创建的换行。
});
});

如果要追加的项目太多,请考虑将其追加到DOM元素中,而不是在循环中,将它们保存到TEMP-jQuery对象中,最后附加到主元素上,更像这样。

var arr = [['20-12-2012', 'Text'],['01-02-2012', 'Text2']], $main = $('<div/>');

_(arr).each(function (row, i) {
  var $wrap =  $('<div class="wrap"></div>').appendTo($main);

   _(row).each(function (line) {
       $('<span>' + line + '</span>').appendTo($wrap);
   });
});
$('#mainWrap').append($main.html()); //Append to DOM now. For replace use .html
var arr=[['20-12-2012','Text'],['01-02-2012','Text2']],$main=$('');
_(arr).每个(功能)(第一行){
var$wrap=$('').appendTo($main);
_(行)。每个功能(行){
$(''+行+'')。附加到($wrap);
});
});
$('#mainWrap').append($main.html())//现在附加到DOM。用于替换use.html

将包裹元素存储在每个循环中
_(arr).each(function (row, i) {
    var $wrap =  $('<div class="wrap"></div>').appendTo('#mainWrap'); //save the wrap here

   _(row).each(function (line) {
       $('<span>' + line + '</span>').appendTo($wrap); //append to the wrap that was created in the previous loop.
   });
});
var arr = [['20-12-2012', 'Text'],['01-02-2012', 'Text2']], $main = $('<div/>');

_(arr).each(function (row, i) {
  var $wrap =  $('<div class="wrap"></div>').appendTo($main);

   _(row).each(function (line) {
       $('<span>' + line + '</span>').appendTo($wrap);
   });
});
$('#mainWrap').append($main.html()); //Append to DOM now. For replace use .html