[jQuery][IE] select要素の中身をempty()で消去しても、なぜか画面には反映されない


さすがIE、色々やらかしてくれる……orz

jQuery(ver. 1.7.2)で、selectの子要素(option)を$(‘select’).empty()みたいなコードで消して、その中に違うoption要素を加える、という処理を書いたんですけれど、IE9(または8でも7でも)ではうまく動いてくれないんですね;;

正確に言うと、empty自体はうまく動いています。少なくともDOM上では消えています。しかし、見た目上はセレクトボックスに選択肢がばっちり残っている、という何ともおかしな状態になってしまっています。

仕方ないので、select要素そのものをempty(もしくはremove)して、消したものと同じ場所に新しいselect要素をappendなりしてぶち込みました。この場合はしっかりemptyの結果が反映されるんですよね。なんか無駄なことをやっているような気がしてならない……(;ω;`)

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です