背景图像不是通过javascript添加的

背景图像不是通过javascript添加的,javascript,modernizr,Javascript,Modernizr,我正在尝试使用Modernizer,以便javascript能够检测浏览器是否支持对象匹配和对象位置。我从Modernizer获得的代码工作正常,但如果它检测到类似于无对象匹配的东西,我想执行以下代码: if (!Modernizr.objectfit) { $('.wrapper__figure').each(function() { var $container = $(this), imgUrl = $container.find('img'

我正在尝试使用Modernizer,以便javascript能够检测浏览器是否支持
对象匹配
对象位置
。我从Modernizer获得的代码工作正常,但如果它检测到类似于
无对象匹配的东西
,我想执行以下代码:

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

我好像没法让它工作。如果我在开发者模式下进行检查,则不会在浏览器内部进行任何更改(我只是在IE中进行测试。所有其他浏览器都不需要这个)。我认为这与添加
.css('background-image','url('+imgUrl+'))有关
$container
,但我不确定是这种情况还是其他情况,因为
src
是一个属性,而不是一个属性

if (Modernizr.objectfit) {
    $('.wrapper__figure').each(function() {
        var $container = $(this),
            imgUrl = $container.find('img').attr('src');

        if (imgUrl) {
            $container.css('background-image', 'url(' + imgUrl + ')');
        }
    });
}

感谢您指出使用attr而不是prop。实现这段代码仍然没有改变任何事情。但是到目前为止,这段代码是正确的,并且可以工作。所以,也许你需要告诉我们更多关于你的问题,因为现在我看不出为什么这不起作用。我在函数的开头放了一个断点。接下来我刷新了浏览器,发现var$容器是主体,而不是我想要得到的类。