【发布时间】:2010-02-04 20:53:37
【问题描述】:
我的代码在 FireFox 中运行良好,但我的用户仅限于 IE。我在 IE 中遇到了一个错误,与我的 JQUERY 函数有关。
populateTable:function(returnList) {
var self = this;
var eat = $.evalJSON(returnList.firstChild.textContent)
$.each(eat,function() {
$("<tr><td>" + this.reportId + "</td><td>" + this.description + "</td><td>" +
this.drawingNumber + "<td></tr>").insertAfter(self.tblResults[0].childNodes[1]);
})
}
IE 在 $.each 上出错,消息如下:
'Length' 为空或不是对象
对于 $.each 函数有什么想法或解决方法吗?
更新:returnList 是来自 Ajax 调用的 XML 文档对象。我正在尝试检索位于 XML 标记内的 JSON 对象字符串。
【问题讨论】:
-
请发布整个 $.each() 调用...当我们不知道您在运行什么时,无法说出问题所在。
-
查看
returnList.firstChild.textContent是否返回一个数组?根据你的说法,我可以假设它在 FF 和其他人中工作吗? -
是的,它在 FireFox 和 Chrome 中工作。只是不是 IE
-
是的 returnList.firstChild.textContent 正在返回一个数组
-
如果你用像
alert('in $.each()!');这样简单的东西替换函数体,你还会得到错误吗?那将是我的第一个调试步骤,以确定它是函数体还是遇到问题的eat对象
标签: asp.net javascript jquery internet-explorer