如何在IE7中获取真正的宽度,jquery的元素溢出隐藏

时间:2012-03-22 13:29:25

标签: jquery css internet-explorer-7

我有一个包含50个元素的列表(不是固定值)

<div style="width:465px;">
    <ul>
     <li>aaa<li>
     <li>aaa<li>
     <li>aaa<li>
     <li>aaa<li>
    ....
     <li>aaa</li>
    </ul>
</div>

ul在css中隐藏了溢出....我想用jquery获取ul的宽度。我在jquery中使用了width()来获取ul,但是在IE7中我获得了465,在另一个现代浏览器中我获得了更大的值(即1549)。这是核心。我该怎么办?

1 个答案:

答案 0 :(得分:0)

在IE7中,你的宽度是以字符串形式返回的,而不是在IE上解析,我认为

尝试类似

的事情
var w = $("ul").width();
if ($.browser.msie && parseInt($.browser.version, 10) <= 6) {
    w = parseFloat(w);
}

或者你可以缩短它oo

var w = ($.browser.msie && parseInt($.browser.version, 10) <= 6) ? 
    parseFloat($("ul").width()) : $("ul").width();

或者真的很短并且可能真的不会伤害太多,:P

var w = parseFloat($("ul").width());