制作ブログ Web制作マークアップJavaScriptDOMトラブル:getAttribute('href')

DOMトラブル:getAttribute('href')

記述は間違いない(はずな)のに、ブラウザによって思うように動作しないことがある。
実際にどのようなことがあったのか、そしてどのようにすれば対処できたのかを紹介。


a要素のリンク先を取得する際、「getAttribute(“href”)」を使用するが、そのリンク先が相対パスで書かれていた場合の解釈がブラウザによって異なるので注意が必要だ。

実際、IE6では、相対パスで記述されていても、絶対パスの値を返す。

回避方法:getAttribute(“href”)の値は絶対パス

仮に相対パスで書かれた値を取得する場合でも、取得する値は「絶対パス」だと意識しておく。間違っても、ブラウザ別対応を用意してしまうことのないようにする(「標準」の意味がなくならないように)。