InternetExplorerさん・・・

最近jQueryでDOMをほげほげしているんですが、いかんせんFirefoxで動くのにIEで動かないってことがあります。とりあえず2つ解決できたので、日記に書きたいと思います。ちゃんと原因がわかったわけではないので、あしからず。。

まず、radioboxを作るとき@IE6,7。
name属性を先に指定しないと、IEではradiobox自体がチェックできなくなる。

hoge = $("<input type='radio' name='hoge' />");

↑はチェックできるけど、

hoge = $("<input type='radio' />")
hoge.attr("name","hoge");

のようにすると、なぜかチェックできない。(typeを指定しているのもIE対策)


次に、CR+LFについて@IE6。
textareaに値を入れるとき、\nが空白で表示され改行されない。\rを入れるとちゃんと改行されます。そしてtextareaから値を得るとき、ちゃっかり\n(と\r?)で改行されています。他のブラウザではtextarea内での\nはちゃんと改行として認識されます。何か悪いことしちゃったかなぁ。


そのほかにも色々とありそうです。
FirefoxOperaSafariなどはほぼ同じ挙動をしてくれるんですが、IEだけがやっかい。。よくIEについて言及されているのを見てきたけど、実際にIEでハマってしまいイライラしていましたとさ。