2010-12-21 28 views
3

我正在使用jQuery在HTML標記中插入文本。在HTML代碼如下所示:jQuery中的方法.text()和.html()在IE7中拖尾的空白在IE7中?

<h5>Do you want to send a message to <span id='firstName'></span> right now?</h5> 

插入span標籤內的文本jQuery的代碼如下所示:

var myFirstName = "Thomas"; 
$("h5 span.firstName").html(myFirstName); 

當我運行的火狐,Chrome,Safari或IE8的驗證碼結果是這樣的:

<h5>Do you want to send a message to <span id='firstName'>Thomas</span> right now?</h5> 

但在Internet Explorer 7,結果是這樣的:

<h5>Do you want to send a message to <span id='firstName'>Thomas</span>right now?</h5> 

刪除了span標籤後的空白空間,導致屏幕上顯示文字爲:「您想立即向Thomasright發送消息嗎?」。

我同時使用的.html()和的.text(嘗試),但是在結果沒有差異。

有沒有辦法解決這個bug?它是一個已知的bug在jQuery的/ IE7

在此先感謝

/托馬斯·卡恩

回答

2

製作<span id='firstName'></span><span id='firstName'>&nbsp;</span>將解決問題。 ^^

simple demo page

^打開這個對IE 7

+0

謝謝!很好的答案。 – tkahn 2010-12-22 12:19:12

+0

我有同樣的問題,但這種解決方案並不能幫助我,因爲我的內容都需要在加載時可見,即使跨度不包含任何內容。例如。 ''我們會給你點,當'需要不顯示額外的空間。即使在指定了點數之前,該句子也是有意義的,並且在跨度包含一定數量的點時它變得更具體。所以我需要以某種方式修復jQuery IE7 bug而不添加' ',並且我還沒有找到適用於我的案例的解決方案。 – Ryan 2012-09-29 02:27:58

2

也就是說奇怪,但你可以這樣做:?!

var myFirstName = "Thomas&nbsp;"; 
$("h5 span.firstName").html(myFirstName); 
+0

這個答案似乎爲我工作,即使我在評論上述(情況http://stackoverflow.com/questions/4497361 /方法文本和 - HTML合的jquery條尾隨空白合IE7#comment17062549_4497488)。 – Ryan 2012-09-29 02:39:14