0

我试图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,我如何引用图像?

4

2 回答 2

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'))
});
于 2013-07-29T14:19:52.117 回答
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')
        });
    }
};
于 2013-07-29T14:21:30.010 回答