2013-08-23 53 views
0

我通過JavaScript構建一個選擇框並作爲innerhtml附加到div元素 選項的文本值在字符串值之間有2個空格。我做了一個字符串比較來設置選中的值,它只在IE8中失敗,因爲它在中間去掉了一個空白區域。 以下是演示HTML和腳本,它描述了我的問題IE8不保留我的字符串之間的空格

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script> 
     function buildSelect() { 
      $('#mydiv').html('<select id="listOption1" name="listOption1"><option value="1234">30.0 x 80.0 in</option><option value="12345">32.0 x 80.0 in</option><option value="123">36 x 80 in</option></select>'); 
     } 
    </script> 
</head> 
<body onload="buildSelect()"> 
    <div id="mydiv"> 
    </div> 
</body> 
</html> 

在所有其他的瀏覽器,串之間的2位(32.0 X 80.0)被保留,包括IE9.In IE8不保留這些。 任何人都可以提出一個解決方案如何在IE8中保留該空間?

+0

也許如果你使用 ? –

+0

是否需要一次以上的連續空間纔有意義? –

+0

這實際上是我從API.Extra空間收到的一些數據,可能會添加以提高可讀性 – Vel

回答

1

您既可以使用&nbsp;插入非中斷空格或white-space CSS屬性:

white-space: pre; 

pre保留空白無包裝,pre-wrap將環繞文字必要。

這需要在IE8中有效的DOCTYPE,它總是應該存在。

+0

我已經添加了white-space:pre用於選擇元素和選項元素。仍然存在IE8問題 – Vel

+0

看起來像是一個問題這些是選擇/選項。您可能不得不訴諸使用' '。 –

0

我假設你想爲易讀性原因添加空格?用&nbsp;替換所有的空格加上雙空格這將提供所有瀏覽器的一致性,包括IE

相關問題