自定义IMG属性检索

时间:2014-05-21 13:18:15

标签: jquery

我无法从图片中检索自定义属性。

<img src="" data-type="bg" />

我这样检索它:

 initFeaturedImages : function () {
        $('.story-page').each(function () {
            var $fImg = $(this).find('.right-side img');
            if ($fImg.length) {
                var src = $fImg[0].src;
                var type = $fImg[0].data('type'); 
                $($fImg[0]).hide();

                var $bg = $fImg.parents('.story-page').find('.left-side');


                if (type) {
                    $bg.css('background-image','url('+ src +')');
                }
                else {
                    $bg.append('<figure><img src="'+src+'" /></figure>'); 
                }
            }
        });
    },

它会引发错误:

TypeError: 'undefined' is not a function (evaluating 'o[0].data("type")')

可能是什么问题?知道我已尝试使用$ fImg [0] .attr(&#39;数据类型&#39;)并且标题属性也会抛出同样的错误。

1 个答案:

答案 0 :(得分:2)

$fImg[0]是没有.data()方法的javascript对象。您应该使用:

 $fImg.data('type');

如果您有多张图片则可以获得所有图片:

  $fImg.each(function(){
     alert($(this).data('type'));
  });