• 締切済み

IE がクラッシュします

jquery-1.5.2.min.js を使っています。 スタイルシートで .displayon{ display:table-row; } .displaynone{ display:none; } を定義し 以下のスクリプトで表示・非表示を切り替えようとしています $(function(){ $( "select[name='cat']" ).change( function(){ $( ".item_list" ).removeClass( "displayon" ); $( ".item_list" ).addClass( "displaynone" ); $( "." + $( "select[name='cat']" ).val() ).removeClass( "displaynone" ).addClass( "displayon" ); }); }); //読み込んだ時に catid0 を表示する window.onload = $(function(){ $( ".item_list" ).removeClass( "displayon" ); $( ".item_list" ).addClass( "displaynone" ); $( ".catid0" ).removeClass( "displaynone" ).addClass( "displayon" ); }); HTML ソースは <table><tbody> <tr class="item_list catid0"><td>アイテム1</td></tr> <tr class="item_list catid3"><td>アイテム2</td></tr> <tr class="item_list catid1"><td>アイテム3</td></tr> <tr class="item_list catid0"><td>アイテム4</td></tr> <tr class="item_list catid2"><td>アイテム5</td></tr> : : </tbody></table> この時、Firefox では問題なく表示されるのですが、 Internet Exploler だとクラッシュしてしまいます。 どこがおかしいのでしょうか?

みんなの回答

回答No.1

試してないけど、ぱっとみたかんじだと、 ------------------------------------------------ //読み込んだ時に catid0 を表示する window.onload = $(function(){ $( ".item_list" ).removeClass( "displayon" ); $( ".item_list" ).addClass( "displaynone" ); $( ".catid0" ).removeClass( "displaynone" ).addClass( "displayon" ); }); ------------------------------------------------ ↓ ------------------------------------------------ //読み込んだ時に catid0 を表示する $(function(){ $( ".item_list" ).removeClass( "displayon" ); $( ".item_list" ).addClass( "displaynone" ); $( ".catid0" ).removeClass( "displaynone" ).addClass( "displayon" ); }); ------------------------------------------------ (「window.onload = 」はいらないと思う。)

koyuki_0808
質問者

補足

ご回答ありがとうございます。 やってみましたが症状は変わりませんでした。 参考になるのかどうか分かりませんが、 症状は現在 IE8 で出ていて、 互換モードにすると動作します (落ちる時もあるようですが…)。 Firefox や Chrome では問題ないのに…。

関連するQ&A