Jquery模板不会出现在IE中

时间:2010-10-03 17:51:07

标签: jquery jquery-plugins internet-explorer-8

我试图使用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循环中取消注释警报,那么每次弹出后都会正确呈现。

可能是什么问题?请帮忙!在此先感谢:)

2 个答案:

答案 0 :(得分:0)

我有完全相同的问题。我的问题是删除一个带有明确类的空div标签。尝试逐个删除元素,直到显示标记。为我工作。

我认为jquery templates暂时处于测试阶段。您可能希望转到截至14/04/2012的knockoutjshandlebarsjs js模板,并提供有效支持。

也许不是你想要的技术答案,但希望它有所帮助。

答案 1 :(得分:0)

我刚发现原始jquery templates中的错误:

只需保存文件并进行编辑:

在第428行替换

pntItem && pntItem.key != pntNode

pntItem != undefined && pntItem.nodes != undefined && pntItem.key != pntNode

这对我有用(用IE9测试:IE9在我的脚本中给出了一个错误)