输出中的额外<li> </li>

时间:2014-06-09 10:31:47

标签: javascript jquery html handlebars.js listitem

我刚刚开始使用Handlebars js输出显示额外的<li>不知道它来自哪里,我很惊讶为什么浏览器不解释这是我的代码;

Fiddle

HTML

<ul id="name">
    <li>{{name}}</li>
</ul>

Handlebarjs

var nameCon = $('#name').html();
var compiled = Handlebars.compile(nameCon);
var render = compiled({name: 1010});
$('ul li').text(render);

输出

<li>1010</li> 

1 个答案:

答案 0 :(得分:2)

text将您提供的文本放在元素中,并根据需要进行处理,以便HTML特殊字符(如<>)不会被解释为HTML。您需要html方法:

$('ul').html(render);

另外,你的小提琴中的代码匹配你问题中的代码。 (现在你已经更新了问题。)在你的小提琴中,你有$('ul li').text(render);(注意选择器中的li),这意味着你要设置li元素的内容,而不是ul元件。这就像写这个HTML一样:<ul><li><li>1010</li></li></ul>当然是无效的(li不能是li的直接子项。)

Updated Fiddle with corrected selector and using html