« ATOKとIME2005が勝手に切り替わる問題 | メイン | 買った本など。 »

Firefoxでtableをdisplay:blockすると、幅がおかしくなる問題の対処

firefoxで、tableおよびtableの中身(tr,td,th)に対して、"display:none"したあと、"display:block"すると、なぜかwidthがリセットされ、最小限の幅になってしまう。


// 非表示
$('table_id').style.display = 'none';

// 表示
$('table_id').style.display = 'block';

これは、firefoxのバグかと思っていたが、tableのdisplayは、block/noneではなく、table-row/noneということがわかった。しかし、表示/非表示を他の要素と共通の関数で処理してる場合には、table-rowはふさわしくない。なので、ベストなのは、displayに空文字をセットする。

$('table_id').style.display = '';

displayがinlineのものもあるから、やっぱり表示させるときは、空文字 がベターだな。

トラックバック

このエントリーのトラックバックURL:
http://www.ironhearts.com/diary/mt-tb-ih.cgi/837

コメントを投稿

2008年09月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

最近のコメント

on JavaScriptでクロスドメイン: >しかし、こういう小
junp on iMovieで静止画を取り込むと荒い: すいません困ってます
う〜ん・・・ on 素朴な疑問: にょうをした、きたな
困ってました on ATOKとIME2005が勝手に切り替わる問題: 何故か勝手に切り替わ
go on 日々の記録: 4600C、同じ症状
Masatoru on 日々の記録: このサイトのおかげで
yy on 日々の記録: はじめまして。 昨日
ひろまま on 日々の記録: はじめまして。 私も
いきあん on 日々の記録: ANN様・皆様 46
ゅーーーーヵ on 目がテン/ドッヂボール: とれるように、なりま

アーカイブ