IE8不保留字符串之间的空格

时间:2013-08-23 19:10:04

标签: html internet-explorer-8

我通过javascript构建一个选择框,并将div元素作为innerhtml附加 选项的文本值在字符串值之间有2个空格。我进行字符串比较以设置仅在IE8中失败的选定值,因为它在中间删除了一个空格。 下面是演示我的问题的演示html和脚本

<!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。在IE8中,它不保留这些空格。 任何人都可以建议如何在IE8中保留该空间的解决方案?

2 个答案:

答案 0 :(得分:1)

您可以使用&nbsp;插入不间断的空格或white-space css属性:

white-space: pre;

pre保留空格而不包装,pre-wrap将在必要时包装文本。

这需要IE8中的有效DOCTYPE,无论如何都应该存在。

答案 1 :(得分:0)

我假设您想要出于易读性原因添加空格?用&nbsp;替换要添加双空格的所有空格这将提供所有浏览器的一致性,包括IE