根据背景图像大小调整div大小的脚本 - 在Firefox中不起作用

时间:2013-09-29 01:09:02

标签: javascript jquery firefox browser

我有这个脚本,根据为其设置的背景图像的高度调整div的高度。

$(document).ready(function() {
    var url = $('#header').css('background-image').replace('url(', '').replace(')', '').replace("'", '').replace('"', '');
    var bgImg = $('<img />');
    bgImg.hide();
    bgImg.bind('load', function()
    {
        var height = $(this).height();
        $("#content").css("margin-top",height+"px");
        $("#header").css("min-height",height+"px");
    });
    $('#header').append(bgImg);
    bgImg.attr('src', url);
});

出于某种原因,它在Chrome和Safari中都运行良好,但在Firefox中则不行。我已经检查了FF中的控制台,看看是否有任何错误,但没有错误。不确定这里是否有与FF不兼容的东西或者我不熟悉的奇怪的FF事物。任何评论赞赏。

1 个答案:

答案 0 :(得分:3)

问题是.replace("'", '').replace('"', '')仅替换FIRST引用。

然后,您可以将正则表达式与g(全局)标记一起使用:.replace(/'/g, '').replace(/"/g, '')。或者甚至更好,加入他们:

.replace(/url\(|\)|'|"/g, '');