要素のスタイルを取得したかった人がいたとかいないとか・・・。


やりたいこと

HTMLのある要素のスタイルを取得したい。

getComputedStyle

こいつで取得できる

var sty = getComputedStyle(elem, '');
alert(style.fontSize);

取得できた。

しかしこのままだと、SafariとIEで動かない
Safariだとグローバル領域にgetComputedStyleは定義されてなくて、document.defaultViewにgetComputedStyleが定義されているので、

var sty = document.defaultView.getComputedStyle(elem, '')

IEの場合

そもそもgetComputedStyleが存在しないので別の方法を探す、
HTML要素がcurrentStyleというのを持っていて、これがgetComputedStyleで取得できるオブジェクトとほぼ同じ役割をしてくれるらしいので、

var sty = elem.currentStyle || document.defaultView.getComputedStyle(elem, '') 

まとめ

できた。