0

IE8で正常に動作する次のコードがあります。

$("<div class='divButtons'>").appendTo( $(".widget_header") );
$(".divButtons").html( "(close), (min), (max)" );

ただし、を追加する.hideと、単に非表示にするのではなく.divButtons、全体が非表示になります.widget_header

例えば:

$("<div class='divButtons'>").appendTo( $(".widget_header") );
$(".divButtons").html( "(close), (min), (max)" ).hide();

なぜそれが起こっているのですか?

4

1 に答える 1

3

divタグを閉じていないため、HTMLが無効になり、すべてのdivの境界が歪んでしまいます。代わりにこれを試してください:

$("<div class='divButtons'></div>").appendTo( $(".widget_header") );
$(".divButtons").html( "(close), (min), (max)" ).hide();

これは文書化されたIE8の問題であり、ここで読むことができます

これに加えて、次のようにすることで、より簡潔で最適化されたコードを作成できます。

$("<div class='divButtons'>(close), (min), (max)</div>").appendTo( $(".widget_header"));​

そして、cssを使用して最初にそれを次の形式で非表示にしますdisplay: none;

これがそのフィドルデモです

于 2012-11-09T12:53:37.580 に答える