对象不支持此属性或方法'eq'仅Internet Explorer

问题描述 投票:0回答:1

此代码段...

sourcerow = $('#' + recordid);
item = sourcerow.find('td');
item.eq(1).text(itwcode);

在Firefox和Chrome中工作正常。

但是今天我发现IE在此行上引发了错误-item.eq(1).text(itwcode);

错误为Object does not support this property or method 'eq'

我认为也许'item'没有被正确地识别为jquery元素,所以我尝试了这个。

sourcerow = $('#' + recordid);
item = $(sourcerow.find('td'));
item.eq(1).text(itwcode);

相同的错误,所以我尝试了这个...

sourcerow = $('#' + recordid);
item = sourcerow.find('td');
$(item).eq(1).text(itwcode);

但是现在IE从jquery库内部引发错误...

Invalid calling object jquery-1.9.1.min.js line 3 character 7849

是否有办法解决或解决此错误?

EDIT:

正如mikakun在评论中所建议的那样,我将变量的名称从“ item”更改为其他名称(“ rowitem”),并且代码现在可以在IE中使用。但是,这很奇怪,因为item不是保留字,并且在其他浏览器中也可以正常工作。

EDIT 2

或者,将名称保留为'item',但添加'var'关键字也可以修复代码。 item在另一个作用域中使用(但以非常相似的方式使用相同的类型)

此代码段... sourcerow = $('#'+ recordid); item = sourcerow.find('td'); item.eq(1).text(itwcode);在Firefox和Chrome中正常运行。但是今天我发现IE在...

javascript jquery internet-explorer-8 internet-explorer-9
1个回答
0
投票

从实际意义上讲,如果您对项目使用编译,则可以考虑在入口点的顶部添加

© www.soinside.com 2019 - 2024. All rights reserved.