2010-02-05 58 views
1

我有一個框顯示我的購物車數量。 當客戶添加新產品時,我會發送一個 ajax請求,並將購買量中的產品 發回購物車。這看起來是這樣的:jQuery 1.4 .html()在IE中插入意想不到的空白

... 
success: function(data) { 
    $("#basket div a").removeClass().addClass("active").empty().html(data +' Article'); 
} 
... 

我開始使用jQuery 1.3,一切都在所有的瀏覽器工作 罰款。幾天前,我將 轉換爲jQuery 1.4.1。現在我在所有 IE中遇到了一個奇怪的問題。通常箱子看起來像這樣> 「9.articels」。由於我切換到當前版本 該框在IE>「9 ..........文章」 (點模擬白色空間)中看起來像這樣。 這就像有一些隱藏的白色空間或任何東西。 因此,我嘗試了CSS(空白) 以及replace()但沒有成功的東西。

有沒有人有一個想法,爲什麼這種奇怪的行爲 發生?

THX 弗洛裏安

+0

是有一個原因你調用.empty()然後調用.html()?而不是僅僅設置.html()? – scunliffe 2010-02-05 11:48:23

回答

1

你似乎是使用.html()功能設置文本。如果您使用.text()函數,您是否會得到相同的錯誤行爲?

通常我只會使用.html()函數,如果您規定爲參數的字符串是html。

你可以驗證yoru請求的輸出是什麼。即什麼是data

1

如果您的數據始終是一個數字,也許嘗試將其轉換爲這樣的:

cess: function(data) { 
    $("#basket div a").removeClass().addClass("active").empty().html(parseInt(data) +' Article'); 

注意,我已將此添加到您的代碼,parseInt(data)

+2

不要忘了添加基數(十進制爲10):parseInt(data,10) – 2010-02-05 11:26:32

+0

謝謝,使用parseInt函數解決了我的問題。 – Florian 2010-02-08 11:20:57

+0

我很樂意提供幫助。如果點擊右側的支票,我會更開心。 ;)歡呼! – Reigel 2010-02-08 11:38:03