我试图使用jquery模板(http://stanlemon.net/projects/jquery-templates.html)。
我想做什么
我试图通过JSON获取对象数组,并使用jquery模板渲染它们。我得到如下的JSON
[{"type":"todo","title":"sample task","description":"this is description","tags":["todo","delete"],"objectId":"2"},{"type":"todo","title":"Do it right now","description":"you have to do everything","tags":["todo","delete"],"objectId":"3"}]
要使用jquery模板插件渲染它,我会执行以下操作
for(var i=0; i<data.length; i++)
{
var task = data[i];
//alert('hello');
$('#tasks').append($.template(taskTemplate), task);
}
会发生什么
这在firefox和chrome中运行良好,但在IE中却没有(我有v8)。执行for循环但没有在#tasks div中呈现任何内容。我注意到的奇怪的事情是,如果我在for循环中取消注释警报,那么每次弹出后都会正确呈现。
可能是什么问题?请帮忙!在此先感谢:)
答案 0 :(得分:0)
我有完全相同的问题。我的问题是删除一个带有明确类的空div标签。尝试逐个删除元素,直到显示标记。为我工作。
我认为jquery templates暂时处于测试阶段。您可能希望转到截至14/04/2012的knockoutjs或handlebarsjs js模板,并提供有效支持。
也许不是你想要的技术答案,但希望它有所帮助。
答案 1 :(得分:0)
我刚发现原始jquery templates中的错误:
只需保存文件并进行编辑:
在第428行替换
pntItem && pntItem.key != pntNode
与
pntItem != undefined && pntItem.nodes != undefined && pntItem.key != pntNode
这对我有用(用IE9测试:IE9在我的脚本中给出了一个错误)