Javascript Internet Explorer JQuery错误
我使用的是jquerymin1.4.2。我有一个函数,它遍历几个表并添加一个带有数字的类:Javascript Internet Explorer JQuery错误,javascript,jquery,internet-explorer,error-handling,Javascript,Jquery,Internet Explorer,Error Handling,我使用的是jquerymin1.4.2。我有一个函数,它遍历几个表并添加一个带有数字的类: $("#reportArea table", this).each(function(i){ $(this).addClass("table-" + i); }); 出于某种原因,这在IE8和IE9中引发了一个错误,然而,在Firefox和Chrome中,当我打开控制台时,我没有看到任何错误。IE中的错误是: Message: Invalid argument. Line: 48 Char: 1 Cod
$("#reportArea table", this).each(function(i){
$(this).addClass("table-" + i);
});
出于某种原因,这在IE8和IE9中引发了一个错误,然而,在Firefox和Chrome中,当我打开控制台时,我没有看到任何错误。IE中的错误是:
Message: Invalid argument.
Line: 48
Char: 1
Code: 0
URI: /js/jquery-min.js
如果我查看IE调试器中的第48行,我会看到:
a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue; etc..
我还尝试将我的代码改写为以下内容,但仍然出现相同的错误:
$('#reportArea table:eq(0)').addClass('table-0');
$('#reportArea table:eq(1)').addClass('table-1');
奇怪的是,该类仍然被添加到IE中的表中
注意,我会手动添加这些类,但这是一个JSP报告页面,我无法访问控制该页面的特定模板
$("#reportArea table", this).each(...
^^^^
这是什么?这应该是一个好主意。我认为您的选择器不需要它,因为ID应该是唯一的。如果您没有在特定函数内调用该函数,则可能引用全局对象,从而导致错误。您是否尝试过使用最新的jquery版本隔离此错误(仅针对此测试用例)?代码中的其他内容可能会出问题。简单的测试用例在jQuery1.4.4中起作用,所以点发布很小的机会就解决了一些问题。在IE9中测试-是的,我认为问题出在其他地方。删除该行并查看问题是否停止发生您的错误没有帮助。。您正在显示缩小代码的错误,n行可能合并为1。。使用非精简版本,然后发布准确的错误。。此外,callstack的屏幕截图也会有所帮助。。如果需要,使用IE debugger进行调试您真的应该使用jquery的非精简版本在第二部分中,他尝试简单的jquery,但仍然失败,并且它正在foreach循环中循环,这就是为什么他的类被添加。实际上应该是$this。查找“reportArea table”。每个。。。