0

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>

他のすべてのブラウザーでは、IE9 を含め、文字列間の 2 つのスペース (32.0 x 80.0 インチ) が保持されます。IE8 では、それらは保持されません。そのスペースをIE8で保持する方法を誰かが提案できますか?

4

2 に答える 2

1

&nbsp;改行しないスペースまたはwhite-spacecss プロパティを挿入するために使用できます。

white-space: pre;

preラップせずに空白を保持pre-wrapし、必要に応じてテキストをラップします。

これには、IE8 で有効な DOCTYPE が必要であり、とにかく常に存在する必要があります。

于 2013-08-23T19:18:27.963 に答える
0

読みやすさのためにスペースを追加したいと思いますか?二重スペースを追加しているすべてのスペースを次のように置き換えます。&nbsp;これにより、IE を含むすべてのブラウザーで一貫性が保たれます。

于 2013-08-23T19:23:20.777 に答える