2013-07-01 52 views
0

我试图将无序列表转换为<select>框,用于具有小分辨率的人,根据列表中的级别缩进文本。为此,我在&nbsp;前加上字符串。然而,它看起来像jQuery,出于某种原因,是双重HTML编码到&amp;nbsp;。如何防止这种行为和使用文字&nbsp;(即让一个非中断空格字符显示到浏览器):从编码字符串的双重html中防止jQuery

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

回答

3

尝试使用\u00A0(非空白字符)而不是&nbsp;

+0

是的,这完美的作品。谢谢。 – Mike

2

你可以在你的JavaScript脚本的使用\xA0插入文字不断裂空格字符:

text += '\xA0';