【发布时间】:2011-05-01 22:18:38
【问题描述】:
我有一个类和 ID 数组,并试图遍历并附加到这些元素。以下代码适用于除 IE7 及以下版本之外的所有浏览器。 IE7 及以下版本抛出异常,告诉我“长度”为空或未定义。已经和它搏斗了一段时间。有什么想法吗?
【问题讨论】:
标签: jquery internet-explorer-7 iteration
我有一个类和 ID 数组,并试图遍历并附加到这些元素。以下代码适用于除 IE7 及以下版本之外的所有浏览器。 IE7 及以下版本抛出异常,告诉我“长度”为空或未定义。已经和它搏斗了一段时间。有什么想法吗?
【问题讨论】:
标签: jquery internet-explorer-7 iteration
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) {
解决您的问题。
我很抱歉不能先测试这个,但我希望它有效。
【讨论】:
试试
$(element).size()
【讨论】: