这是我的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中,我得到的宽度要窄得多 - 关于未插入—
的宽度......这是某种竞争条件吗?
有没有办法打击这个?也许首先循环并插入html实体,然后再循环以计算宽度?
由于
修改
我首先循环,插入html实体,然后再做一个循环,但值仍然不正确......
我也试过outerWidth()
,但没有帮助。
答案 0 :(得分:1)
好的,我已经准确地计算了它,虽然它有点难看。
而不是append()
实体,我就这样插入
$(this).html($(this).html() + ' —');
这很好用。