2011-10-18 4 views
2

display:noneを使用してTR(テーブル行)を非表示にし、後でdisplay:table-rowで表示する必要があるページで作業しています。ただし、IE7はtable-rowを無視し、TRを非表示にします。単に私がdisplay:blockと言うと、すべてのセルが列と並んでいません。この制限の回避策はありますか?IE7は表示を無視します:テーブル行

+1

空白にしてみましたか:tr.style.display = ""; –

答えて

0

でそれを試してみてください。 次の例を確認してくださいhttp://jsfiddle.net/JauH4/4/

+0

既に気付いているかもしれませんが、表示:表示と非表示の違いがあります。可視性は要素のみを非表示にしますが、非表示になった後でも引き続きレイアウトに影響を与えますので、空のタブローがあります。私は「使用しない」と言っているのではなく、「適切なところで使う」と言っています。 –

+0

レイアウトに影響を与えたい場合は、Jquery 'show()'と 'hide()'または 'toggle()'を使用できます。 –

+2

ええ、でも、それらのメソッドは "display:none"を切り替えるからです。 –

6

もう一度表示したいときは、displayを ""に設定してください。

編集:ここではフィドルですが、必要ないときに表示プロパティがどのように削除されるかを観察してください。

http://jsfiddle.net/V4xvX/

あなたは要素の可視性を切り替えることがvisibility:hiddenvisibility:visibleを試してみてくださいIE 7

+0

ありがとう、アンドレアス。私はスタイルブロックを追加しています。あなたはその中で上記のことをどのようにしていますか? 'display:;'? – Alex

+1

いいえ、私はあなたが単に "none"ではないときにディスプレイ事業全体を取り除くと思う。 –

関連する問題