0

<select>リストのレベルに応じてテキストをインデントし、解像度が小さい人向けに、順序付けられていないリストをボックスに変換しようとしています。これを行うには、文字列の先頭に&nbsp;. ただし、何らかの理由で、jQuery がこれを .xml に二重に HTML エンコードしているように見えます&amp;nbsp;。この動作を防ぎ、リテラルを使用するにはどうすればよいですか&nbsp;(つまり、非改行スペース文字がブラウザに表示されるようにするには):

var text = '';
var i;

for (i = 0; i < level; i++) {
    text += '&nbsp;';
}
text += el.text();

if (el.hasClass('noclick')) {
    $('<optgroup />', {
        'label' : text
    }).appendTo('#menu select');
}
else {
    $('<option />', {
        'value' : el.attr('href'),
        'text' : text
    }).appendTo('#menu select');
}

これが私のjsFiddleです。

4

2 に答える 2

3

\u00A0の代わりに (改行しないスペース文字) を使用してみてください&nbsp;

于 2013-07-01T21:52:40.817 に答える
2

次のコマンドを使用して、JavaScript スクリプトにリテラルの改行以外のスペース文字を挿入できます\xA0

text += '\xA0';
于 2013-07-01T21:53:44.103 に答える