jQuery Mustache在IE 8上无法工作

3

我已经将我丑陋的数据解析逻辑转换为Mustache(用于http://loop.pk)。非常好的东西。我在Ubuntu/Linux中进行所有开发,所以我没有注意到,在IE中没有显示数据。

我已经跟踪到错误是因为这一行,"data"完美地填充和符合预期。不知道为什么会失败。

$('#template_smslist').mustache(data).prependTo('#tab_inbox');

这是我的模板的外观:

{{#sms}}
<div class="sms_recvd sms_list a">
    <div class="sms_list_text">{{text}}</div>
    <div class="sms_list_time">{{tstamp}}</div>
</div>
{{/sms}}

以下是数据的样式:

{"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"}.............

Please help!

1个回答

8
我假设你把模板放在一个script标签内,例如:
<script type="text/x-mustache-tmpl" id="template_smslist">
...
</script>

看起来你正在使用的是https://github.com/thinkdevcode/jQuery-Mustache ,这似乎是问题所在...
所以,它基本上只返回...
$(Mustache.to_html($('#template_smslist').text(), data))

在IE中,text()调用不会返回任何内容。相反,如果使用html(),它将在所有浏览器中正常工作。
因此,我的建议是仅执行以下操作:
$(Mustache.to_html($('#template_smslist').html(), data))

你是救星Andreas,希望我能给你的答案打双勾。非常感谢。我们能强制Github上的jQuery.Mustache开发者将文本更改为HTML吗? - DivinesLight

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接