我有一个类和ID的数组,我试图迭代并追加到这些元素。下面的代码适用于除IE7及以下版本以外的所有浏览器。 IE7及以下版本会抛出异常,告诉我'length'为空或未定义。现在一直在摔跤。有任何想法吗?jquery,IE7和迭代
代码是在这里:http://gist.github.com/651456
我有一个类和ID的数组,我试图迭代并追加到这些元素。下面的代码适用于除IE7及以下版本以外的所有浏览器。 IE7及以下版本会抛出异常,告诉我'length'为空或未定义。现在一直在摔跤。有任何想法吗?jquery,IE7和迭代
代码是在这里:http://gist.github.com/651456
尝试
$(element).size()
According to jQuery's API,.length
应该只是一样.size()
,所以我不认为这是个问题。我认为问题可能在于如何使用jQuery.each()
方法。再次,according to the API,jQuery.each()
回调传入两个值:indexInArray
(您用作index
)和valueOfElement
(用作element
)。问题可能出在IE7无法将您的valueOfElement
变成jQuery对象,因此无法获得它的.length
属性。
我不熟悉Drupal的代码,所以我没有测试过这一点,但我觉得这行:
if ($(element).length) {
可以改写为这样的:
if ($(element) && $(element).length) {
解决您的问题。
我很抱歉无法首先测试,但我希望它能正常工作。
.length是jQuery API的一部分。它返回jQuery对象中元素的数量,与.size()的值相同。请参阅:http://api.jquery.com/length/ – Fermin 2010-10-28 14:55:21
我的错误,我们的权利。 – 2010-10-28 15:17:10