jQuery map函数将image元素作为对象追加

时间:2012-07-17 07:00:38

标签: jquery

这是我的功能:

var listImg = params.list.find('img'), naviHtml = '<ul>';

$.map ( listImg, function ( img, i ) {

        naviHtml += '<li>'+ img + '</li>'
        //naviHtml += '<li><img width=150 height=50 src=' + $(img).attr('src') + '></li>'

    })

    naviHtml += '</ul>'

    console.log(naviHtml);

当我控制或追加到body元素时,它会给出如下结果:

<ul><li>[object HTMLImageElement]</li><li>[object HTMLImageElement]</li><li>[object HTMLImageElement]</li><li>[object HTMLImageElement]</li><li>[object HTMLImageElement]</li><li>[object HTMLImageElement]</li><li>[object HTMLImageElement]</li><li>[object HTMLImageElement]</li></ul> 

由于我没有获取图像,如何将htmlimageElement对象设为html常规元素?

2 个答案:

答案 0 :(得分:3)

var listImg = params.list.find('img'), 
    $navi = $('<ul>');

$.each( listImg, function (img, i) {
  $('<li>').append(img).appendTo($navi);
});

console.log( $navi.html() );

答案 1 :(得分:0)

通过创建标记并设置属性:

naviHtml += '<li><img width="'+img.width+'" height="'+img.height+'" src="'+img.src+'" /></li>';