Safari使用jQuery返回不正确的宽度

时间:2009-06-01 05:01:57

标签: javascript jquery safari

这是我的jQuery中有问题的部分

var tickerWidth = 0;
var padding = 10;
firstList.find('li').each(function() {

            $(this).append(' —');
            tickerWidth += $(this).width() + padding;  

           $('body').prepend($(this).width() + '<br />');

        });

firstList是一个包含ul元素的变量。当我在Firefox中运行它时,我正确地计算宽度并打印到我的页面。然而,在Safari中,我得到的宽度要窄得多 - 关于未插入&mdash;的宽度......这是某种竞争条件吗?

有没有办法打击这个?也许首先循环并插入html实体,然后再循环以计算宽度?

由于

修改

我首先循环,插入html实体,然后再做一个循环,但值仍然不正确......

我也试过outerWidth(),但没有帮助。

1 个答案:

答案 0 :(得分:1)

好的,我已经准确地计算了它,虽然它有点难看。

而不是append()实体,我就这样插入

        $(this).html($(this).html() + ' &mdash;');

这很好用。