我遇到了currentStyle的问题,我已经阅读了IE9之前的修复,以获得getComputedStyle支持。
我最近提出了另一个关于获取对多级导航菜单的顶级LI列表的引用的帖子:
Selecting <li> child node but not grandchildren with vanilla JavaScript
现在我需要能够在我收到的帮助下测量我无法参考的LI的宽度或高度。它有效,但不低于IE9。
以下是我尝试获取宽度的内容:
this.w = function(elm){
var s = (window.getComputedStyle) ? window.getComputedStyle(elm, "") : elm.currentStyle;
return parseInt(s.width);
}
宽度以NaN的形式回归
SCRIPT5007:无法获得属性&inner;内部HTML&#39;未定义或空引用
我非常感谢大家的帮助
答案 0 :(得分:0)
elm.currentStyle.width
在未指定宽度时返回"auto"
。
这正确反映了当前的样式设置,但没有为您提供所需的值(正如您可能期望的那样getComputedStyle)。
相反,请使用elm.clientWidth
所以在你的例子中,你可以使用......
this.w =function( elm ){
var s = (window.getComputedStyle) ? window.getComputedStyle(elm, "") : elm.clientWidth;
return parseInt(s.width);
}
(在IE8中测试但未在IE7中测试)