2

私はいくつかの CSS IE7 互換性の問題に夢中になっているので、その問題については JavaScript を使用することにしました。

これが私のコードです:

// fix ie7 menu
if ($('html').hasClass('ie7')) {
    var submenus = $('header .menu > li > ul.sub-menu');
    $.each(submenus,function(key,submenu){
        var w = $(submenu).width();
        $(submenu).children('li').css('width','300px');
        alert(key+" submenu li "+$(submenu).children('li').width());
    });
}

ご覧のとおり、ul.sub-menu 要素の子に親の幅 (w) を強制的に適用しようとしています。運が悪かったので、テスト目的で「300px」の値をハードコードしました。次に、「300」だけで試しました。まだ何もありません。

$(submenu).children('li') 要素の幅が 300px にならないのはなぜですか? このコードを Chrome でテストしたところ、うまく機能しました。

ありがとう。

4

1 に答える 1

0
if ($('html').hasClass('ie7')) {
var submenus = $('header .menu > li > ul.sub-menu');
submenus.each(function(){
    var w=$(this).width();
    $(this).children('li').css('width',w+'px');
});
}
于 2013-03-25T15:54:35.603 に答える