簡単にメモだけ

チェックボックスのチェックを変更したら、その状況にしたがって表示を変更するようなスクリプトを書いてみたところ、FirefoxChromeではうまくいくのに、Internet Explorerではうまくいかない。なんでだろうと困っていたところ、onchange属性を使っていたのが原因と判明。FirefoxChromeでは、チェックの付け外しをした時点で変更とみなされ、スクリプトが動作しますが、IEでは、チェックボックスから他にフォーカスが移動してはじめてスクリプトが動作する。というわけで、onclickに変更して、この問題はクリアしました。

今回は、テーブルの行、特定のクラスを持つtr要素の表示非表示を切り替えるのが目的で、JavaScriptを用いて、そのクラスのdisplayプロパティをnoneにするというものなのですが、ここでもちょっと問題があって、FirefoxChrome、IE8ではdisplay: none;で非表示にしたあと、display: table-row;で再度表示できるのが、IE6ではできない。あらら、これは困った。で、調べてみて、IE6に対しては素直にdisplay: block;としてやればよいらしい。

なので、このためにIEのバージョンを判定してやらねばならず、ああもう面倒くさいなあ。早くIE8が普及してくれんものかなと思ったのでした。

IE7に関しては手近になかったので試せてません。でも、簡単に調べてみたところ、table-rowには対応してないみたい。明日にでも、IE7の入ってる端末を探して試してみます。