我通过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中保留该空间的解决方案?
答案 0 :(得分:1)
您可以使用
插入不间断的空格或white-space
css属性:
white-space: pre;
pre
保留空格而不包装,pre-wrap
将在必要时包装文本。
这需要IE8中的有效DOCTYPE,无论如何都应该存在。
答案 1 :(得分:0)
我假设您想要出于易读性原因添加空格?用
替换要添加双空格的所有空格这将提供所有浏览器的一致性,包括IE