我无法从图片中检索自定义属性。
<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;)并且标题属性也会抛出同样的错误。
答案 0 :(得分:2)
$fImg[0]
是没有.data()
方法的javascript对象。您应该使用:
$fImg.data('type');
如果您有多张图片则可以获得所有图片:
$fImg.each(function(){
alert($(this).data('type'));
});