jQuery Mustache没有在IE 8上工作

Bla*_*ine 3 javascript jquery internet-explorer internet-explorer-8 mustache

我已经将我丑陋的数据解析逻辑转换为Mustache(用于http://loop.pk).很整洁的东西.我在Ubuntu/Linux中进行了所有开发,所以我没有注意到,但数据没有出现在IE中.

我已经将错误追溯到这一行,"数据"是完美的,填充和预期的.不知道为什么会失败.

$('#template_smslist').mustache(data).prependTo('#tab_inbox');
Run Code Online (Sandbox Code Playgroud)

以下是我的模板的外观:

{{#sms}}
<div class="sms_recvd sms_list a">
    <div class="sms_list_text">{{text}}</div>
    <div class="sms_list_time">{{tstamp}}</div>
</div>
{{/sms}}
Run Code Online (Sandbox Code Playgroud)

以下是数据的样子:

{"sms":[{"id":"1727591","text":"Fb shabantoo","tstamp":"1315597361"},{"id":"1727580","text":"Fb and dj shahruk rocking it again","tstamp":"1315597106"},{"id":"1727466","text":"Fb i see unicorns","tstamp":"1315595994"},{"id":"1727214","text":"Fb i see rainbows","tstamp":"1315593322"}.............
Run Code Online (Sandbox Code Playgroud)

请帮忙!

And*_*eou 8

我假设你在脚本标签中有模板,例如:

<script type="text/x-mustache-tmpl" id="template_smslist">
...
</script>
Run Code Online (Sandbox Code Playgroud)

看起来你正在使用https://github.com/thinkdevcode/jQuery-Mustache,这似乎是这里的问题......

所以,它基本上就是回归

$(Mustache.to_html($('#template_smslist').text(), data))
Run Code Online (Sandbox Code Playgroud)

但是在IE中,text()调用什么都不返回.相反,如果使用html(),它将适用于所有浏览器.

所以,我的建议是:

$(Mustache.to_html($('#template_smslist').html(), data))
Run Code Online (Sandbox Code Playgroud)