2009-06-01 91 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