0

我通过 javascript 构建了一个选择框,并将其作为 innerhtml 附加到 div 元素。选项的文本值在字符串值之间有 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 中保留该空间?

4

2 回答 2

1

You could either use &nbsp; to insert non-breaking spaces or the white-space css property:

white-space: pre;

pre preserves whitespace without wrapping, pre-wrap will wrap text where necessary.

This requires a valid DOCTYPE in IE8, which should always be present anyway.

于 2013-08-23T19:18:27.963 回答
0

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

于 2013-08-23T19:23:20.777 回答