我正在开发一个将图像标签的来源更改为背景图像的功能。这个函数应该对图像在 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/