2009-06-01 46 views
0

这里不正确宽度是我的jQuerySafari浏览器将返回使用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

好吧,我有它正确计算它,虽然它有点难看。

代替append()荷兰国际集团的实体,我将其插入,像这样

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

这工作得很好。

+0

一个奇怪的错误是肯定的。您可能希望将此行为提交给jQuery开发邮件列表 – 2009-06-01 05:20:39