我试图让this
指向对象方法内部函数内的每个img
,就像这样
var responsiveImageSwap = (function(){
return {
init : function(){
$.each('img', function(){
var width = $(window).width(),
_this = this,
alert(_this.attr('src'))
})
}
}
})();
responsiveImageSwap.init();
但它引用了object
而不是img
,我该如何引用图片?
答案 0 :(得分:8)
$.each
用于循环集合。你正在做的是循环字符串'img'
中的字母。
您想使用.each
;这是针对jQuery对象的。
$('img').each(function(){
var width = $(window).width(),
// this is a DOM element, we need to make it a jQuery object
_this = $(this),
alert(_this.attr('src'))
});
答案 1 :(得分:3)
此?
return {
init: function () {
var vw = $(window).width(); // viewport width
$('img').each(function () {
var $img = $(this);
// Do stuff with $img, e.g. retrieve $img.attr('src')
});
}
};