YUIを使ってもIEでdivのwidthが取れなかった件
少し前にこれでハマってた。
YUI3を使っていたのですが、IEでのみdivのwidthが取得出来なかった。
var _el = Y.get('#yuidiv'); alert(_el.get('clientWidth'));
多分これで合ってるはず…FireFoxとかsafariはOKだしなー。
ちなみにですが、IEでも明示的に「width=100px」とか書いてあると取れる。
でも動的にwidthが変わるようなdivだと無理だし。
なので、以下のような関数作って回避しました
function getDivWidth (div){ return document.layers? div.clip.width:(div.offsetWidth||div.style.pixelWidth||0); } var _el = Y.get('#yuidiv'); alert(getDivWidth(_el._node));
なんか、「_node」とかいう使っちゃいけいないようなの使ってて微妙なのですが
とりあえずこれで回避できた。