0

我正在尝试将无序列表转换<select>为具有小分辨率的人的框,根据列表中的级别缩进文本。为此,我在字符串前面加上&nbsp;. 然而,出于某种原因,它看起来像是 jQuery 将其双重 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 回答