从对象数组生成图像标记

时间:2015-03-30 14:28:07

标签: javascript jquery arrays

这是我的变量:

var images=[{"src":"1.jpg","type":"land"},{"src":"2.jpg"},{"src":"3.jpg"},{"src":"4.jpg"}]

我想用它在div上生成图像标签,使用src作为data-src并输入类,如下所示:

<img data-src="1.jpg" class="land" /><img data-src="2.jpg" /><img data-src="3.jpg" /><img data-src="4.jpg" />

我知道如何使用字符串,而不是使用对象。任何人都可以帮我这个吗?

2 个答案:

答案 0 :(得分:1)

检查一下:

 var images = [{"src": "1.jpg", "type": "land"}, {"src": "2.jpg"}, {"src": "3.jpg"}, {"src": "4.jpg"}];
 for (var i = 0; i < images.length; i++) {
    var currentImage = images[i];
    var img = $('<img id="dynamic' + i + '">');
    img.attr('src', currentImage.src);
    if(currentImage.type) {
        img.attr('class',currentImage.type);
    }
    img.appendTo('div');
 }

JSFiddle

答案 1 :(得分:0)

你可以试试这个:

var images=[{"src":"1.jpg","type":"land"},{"src":"2.jpg"},{"src":"3.jpg"},{"src":"4.jpg"}];

$('div').html(images.map(function(obj) {
   var result = '<img data-src="' + obj.src + '"';
   if (obj.type) {
       result += ' class="' + obj.type + '"';
   }
   return result + '/>';
}).join(''));