1

这是我的数组,我需要做一个 foreach 来显示图像等。基本上该数组包含幻灯片和幻灯片信息,我需要为每个包含信息的 div 输出一个 div(如果我知道如何访问它,我可以这样做)。

var slides = new Array();
slides[1] = {slidetitle: 'title 1',
             slidetext: 'text 1',
             image1: '',
             magnifyposit: '',
             buttontext: 'button text 1',
             buttonurl: 'http://www.google.com'};
slides[2] = {slidetitle: 'title 2',
             slidetext: 'text 2',
             image1: '',
             magnifyposit: '',
             buttontext: 'button text 2',
             buttonurl: 'http://www.google.com'};
slides[3] = {slidetitle: 'title 3',
             slidetext: 'text 3',
             image1: '',
             magnifyposit: '',
             buttontext: 'button text 3',
             buttonurl: ''};
slides[4] = {slidetitle: 'title 4',
             slidetext: 'text 4',
             image1: '',
             magnifyposit: '',
             buttontext: 'button text 4',
             buttonurl: 'http://www.google.com'};
slides[5] = {slidetitle: 'title 5',
             slidetext: 'text 5',
             image1: '',
             magnifyposit: '',
             buttontext: 'button text 5',
             buttonurl: 'http://www.google.com'};
4

3 回答 3

6

你可以像这样使用$.each

$.each(slides,function(i,obj){
   //here  obj is object element of slides array

  // access properties of the object 
  // in current iteration like obj.slidetitle,obj.slidetext etc

});

注意:您应该从 0 开始数组索引。

工作小提琴

于 2012-05-31T12:43:08.483 回答
1

有几点需要注意。您需要从索引 0 开始您的数组。这是完整的代码和 jsfiddle:http: //jsfiddle.net/lucuma/gKgns/

var slides = new Array();

slides[0] = {slidetitle: 'title 1',
                         slidetext: 'text 1',
                         image1: '',
                         magnifyposit: '',
                         buttontext: 'button text 1',
                         buttonurl: 'http://www.google.com'};

slides[1] = {slidetitle: 'title 1',
                         slidetext: 'text 1',
                         image1: '',
                         magnifyposit: '',
                         buttontext: 'button text 1',
                         buttonurl: 'http://www.google.com'};

slides[2] = {slidetitle: 'title 2',
                         slidetext: 'text 2',
                         image1: '',
                         magnifyposit: '',
                         buttontext: 'button text 2',
                         buttonurl: 'http://www.google.com'};

slides[3] = {slidetitle: 'title 3',
                         slidetext: 'text 3',
                         image1: '',
                         magnifyposit: '',
                         buttontext: 'button text 3',
                         buttonurl: ''};

slides[4] = {slidetitle: 'title 4',
                         slidetext: 'text 4',
                         image1: '',
                         magnifyposit: '',
                         buttontext: 'button text 4',
                         buttonurl: 'http://www.google.com'};

 slides[5] = {slidetitle: 'title 5',
                         slidetext: 'text 5',
                         image1: '',
                         magnifyposit: '',
                         buttontext: 'button text 5',
                         buttonurl: 'http://www.google.com'};      

var $container= $('#container');
$.each(slides, function(index, value) { 
   var $div = $('<div>' + value.slidetitle + '</div>');
   $container.append($div);
});

​</p>

于 2012-05-31T12:44:23.307 回答
1

基本上你必须创建一个空的表tbodytbody必须设置一个 id 以便以后选择它。

$.each(slides, function (index, value) {
    var row = '<tr><td>value.title</td></tr>'
    + '<tr><td>value.text</td></tr>';

    $('#tableBody').append(row);
}
  • 其中 value 是您的 Array 对象。
于 2012-05-31T12:45:22.513 回答