使用循环填充对象数组

时间:2015-04-23 04:32:57

标签: javascript arrays

我试图遍历许多项目,并创建一个数组。每个循环都应该是数组中的一个新项,但是我有一些问题要做。似乎只添加了一组项目,而不是多项。

我试过下面的代码。请帮我解决一下。

function OpenPopup3(src,type,title){

 var myData = [];
 rows.each(function(index) {
     var temp_obj = {};
     temp_obj["src"] = $this.find('.elementOne').text(),
     temp_obj["type"] = $this.find('.elementTwo').text(),
     temp_obj["title"] = $this.find('.elementThree').text()
  myData.push(temp_obj);
 });

 $.magnificPopup.open({ 
    key: 'my-popup', 
    items: myData,
    type: 'inline',
    inline: { markup: '<div class=""><div class="mfp-close"></div>'+'<img class="mfp-src">'+'<div class="mfp-title"></div>'+'</div>' },
    gallery: { enabled: true }
 });
}

我真正想要的是如下:

{
    src: "/googleimages/123/a.png",
    type: "Stuff",
    title: "Title1"
},
{
    src: "/googleimages/123/b.png",
    type: "Stuff",
    title: "Title2"
},
{
    src: "/googleimages/123/c.png",
    type: "Stuff",
    title: "Title3"
}

1 个答案:

答案 0 :(得分:0)

首先rows变量包含什么?似乎没有在任何地方宣布。

其次你有语法错误:

temp_obj["src"] = $(this).find('.elementOne').text();
temp_obj["type"] = $(this).find('.elementTwo').text();
temp_obj["title"] = $(this).find('.elementThree').text();