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