3

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

我已经将错误追溯到这一行,“数据”是完美的、填充的并且符合预期。不知道为什么这会失败。

$('#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"}.............

请帮忙!

4

1 回答 1

8

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

<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))
于 2011-09-11T00:24:38.190 回答