はてなスターを設けたとあるHTML文書について、FirefoxやOperaでははてスタのアイコンが現れるのにIEだと現れないという問題が発生した。あれこれ試行錯誤してみたところ、どうやら<textarea name="comment">
と<dl id="comment">
が原因のようだった。IEはName属性とID属性を同じ名前空間で管理しているのかな。多分それが理由で、getElementById("comment")
を実行すると先に現れるTextarea要素にマッチしてしまっていた模様。
と思ったけど、もしかしたら、Name属性値とID属性値を同じ空間で管理するのはまっとうな挙動で、OperaやFirefoxは同じIDがあったら後に出てくる要素を優先しているだけなのかもしれない。これについては詳しく調査する必要があるような気もする、というかID属性の値とかもっと考えてコーディングしていれば今回のような問題は発生しない。