【问题标题】:jquery, IE7 and iterationjquery, IE7 和迭代
【发布时间】:2011-05-01 22:18:38
【问题描述】:

我有一个类和 ID 数组,并试图遍历并附加到这些元素。以下代码适用于除 IE7 及以下版本之外的所有浏览器。 IE7 及以下版本抛出异常,告诉我“长度”为空或未定义。已经和它搏斗了一段时间。有什么想法吗?

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

【问题讨论】:

    标签: jquery internet-explorer-7 iteration


    【解决方案1】:

    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) {
    

    解决您的问题。

    我很抱歉不能先测试这个,但我希望它有效。

    【讨论】:

      【解决方案2】:

      试试

      $(element).size()
      

      【讨论】:

      • .length 是 jQuery API 的一部分。它返回 jQuery 对象中元素的数量,与 .size() 的值相同。见:api.jquery.com/length
      猜你喜欢
      • 2011-12-24
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 2012-10-17
      • 1970-01-01
      • 2012-07-19
      相关资源
      最近更新 更多