javascript - jQuery 选择器上预期的对象

标签 javascript jquery

我正在开发一个将图像标签的来源更改为背景图像的功能。这个函数应该对图像在 IE 中的显示方式很有帮助。我试过调试,但我卡在了对象预期错误上。这发生在第二行:

if ( ! Modernizr.objectfit ) {
        $('.wrapper__figure').each(function () {
            var $container = $(this),
                    imgUrl = $container.find('img').attr('src');
            if (imgUrl) {
                $container
                    .css('backgroundImage', 'url(' + imgUrl + ')');
            }  
        });
    }

最佳答案

我可以让代码在 IE 中导致错误的唯一方法是如果使用了 jQuery 的 noConflict,那么 $ 不是 jQuery 了(例如:http://output.jsbin.com/bixijotala)。如果是这样,您可能希望使用 IIFE 来使用本地 $,传入 jQuery:

(function($) {
    if ( ! Modernizr.objectfit ) {
        $('.wrapper__figure').each(function () {
            var $container = $(this),
                    imgUrl = $container.find('img').attr('src');
            if (imgUrl) {
                $container
                    .css('backgroundImage', 'url(' + imgUrl + ')');
            }  
        });
    }
})(jQuery);

或者当然,如果您根本没有加载 jQuery,您会得到这个,在这种情况下,答案是:在运行该代码之前加载 jQuery。

关于javascript - jQuery 选择器上预期的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50838944/

相关文章:

javascript - 帖子表 react

javascript - window.pageYOffset在javascript中显示不同的值

javascript - jQuery 背景变化闪烁

javascript - 使用 RxJS 5 可观察对象的延迟模式

javascript - Greasemonkey:转发整页内容

javascript - 了解 $.proxy 内部如何工作

javascript - 或者比较不起作用?

javascript - 延迟 JavaScript 代码

javascript - PHP 和 jQuery 实时搜索表格问题

javascript - 比较 img src + a wrap url strings 看它们是否是 "similar"