jquery,IE7和迭代

时间:2010-10-28 14:34:11

标签: jquery internet-explorer-7 iteration

我有一个类和ID数组,我试图迭代并附加到这些元素。以下代码适用于IE7及以下版本的所有浏览器。 IE7及以下版本抛出异常,告诉我'length'为null或未定义。现在正在与它搏斗一段时间。有什么想法吗?

代码在这里:http://gist.github.com/651456

2 个答案:

答案 0 :(得分:0)

$(element).size()

答案 1 :(得分:0)

According to jQuery's API.length应该与.size()的工作方式相同,所以我不认为这是问题所在。我认为问题可能在于您如何使用jQuery.each()方法。同样,according to the APIjQuery.each()回调传递两个值:indexInArray(您用作index)和valueOfElement(您用作element }})。问题可能是IE7无法将您的valueOfElement转换为jQuery对象,因此无法获取它的.length属性。

我不熟悉Drupal代码,所以我没有对此进行测试,但我认为这一行:

if ($(element).length) {

可以改写为:

if ($(element) && $(element).length) {

解决您的问题。

我为没有能够先测试它而道歉,但我希望它有效。