2011-01-21 7 views
1

次の関数は、テーブル内のいくつかの非表示行を示します。それは、IE7を除いてテストされたすべてのブラウザでうまく動作します。 (私はPrototype.jsを使用しています)IE7のテーブル行

function showInactives(){ 
var row_list = $$('tr.inactive'); 
var ck =$('inactive_check').checked; 
for (i = 0 ; i < row_list.length; i++){ 
    if (ck) row_list[i].style.display = "table-row"; 
    else row_list[i].style.display = "none"; 
    } 
} 

IEでは、各隠し行は単に非表示のままです。各行の表示スタイルを警告すると、「テーブル行」として表示されますが、表示されません。

display:table-rowを理解できない場合、IE7にこれらの非表示行が表示されるようにするにはどうすればよいですか?事前に

おかげで、デイブ

+1

必要なjsの量に応じて、jQueryまたはextjsに切り替えます。私は、プロトタイプライブラリにバグフィックス(良い説明とテストケースが与えられ、文書化されている)を提出しました。開発者は、そのバグはフィーチャーだと言っていました... – Endophage

+0

@Endophage、これはプロトタイプのバグですか?プロトタイプもあまりいいとは思えませんが、これは質問とはあまり関係がないようです。 –

+0

@Juan Mendes特にプロトタイプのバグかどうかはわかりませんが、プロトタイプは他のフレームワークより信頼性が低いブラウザであることがわかりました。また、開発者のカップルも、問題を解決するのに特に役に立たない/関心がない良いバグ報告と解決策が提示されたとしても。 – Endophage

答えて

4

""にディスプレイを設定してみてください。 IEは一般的にテーブルに関するものです。

+0

""を使用、ブロックは何かを意味します –

+0

あなたのアドバイスで編集しました。ありがとう。 – Reid

+0

display = "none"をdisplay = ""に変更すると機能しませんでした。 display = "table-row"をdisplay = ""に変更しなかった。後者は、すべてのブラウザで機能を破った。 –

関連する問題