Javascript 使用「;这";内部$。每个内部对象方法

Javascript 使用「;这";内部$。每个内部对象方法,javascript,jquery,object,each,Javascript,Jquery,Object,Each,我试图让this指向对象方法中函数中的每个img,如下所示 var responsiveImageSwap = (function(){ return { init : function(){ $.each('img', function(){ var width = $(window).width(), _this = this,

我试图让
this
指向对象方法中函数中的每个
img
,如下所示

var responsiveImageSwap = (function(){
    return {
        init : function(){
            $.each('img', function(){
                var width     = $(window).width(),
                    _this     = this, 
                    alert(_this.attr('src'))
            })
        }
    }
})();
responsiveImageSwap.init();

但是它引用的是
对象
而不是
img
,如何引用图像?

$。每个
用于在集合上循环。您所做的是在字符串
'img'
中的字母上循环

您想使用
。每个
;这是针对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'))
});
这个


为什么不
$('img')。每个(…
?另外,你不想在循环中计算视口宽度。啊,关于宽度的好观点…@Virus721:我只是在使用OP拥有的代码。在这里它不是很有用,但如果他在回调中使用闭包,可能会有用。@RocketHazmat你的代码不起作用。
这个
指的是IMG元素,它没有
tr()
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')
        });
    }
};