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 に答える