1

我有这个脚本可以根据为其设置的背景图像的高度调整 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 东西。任何意见表示赞赏。

4

1 回答 1

3

问题是,.replace("'", '').replace('"', '')替换第一个报价。

g然后,您可以使用带有(全局)标志的正则表达式:.replace(/'/g, '').replace(/"/g, ''). 或者更好的是,加入他们:

.replace(/url\(|\)|'|"/g, '');
于 2013-09-29T01:15:25.643 回答