【问题标题】:jQuery for each loop is not working每个循环的 jQuery 不起作用
【发布时间】:2018-07-01 19:00:35
【问题描述】:

我正在使用 jQuery for each 循环。但奇怪的是内部循环没有被执行。我附上了有关如何执行外部和内部循环的信息。

$.each(arrForGrade, function(j, itemJ) {
    //currentLoad++;
    $.each(arrForSubject, function(k, itemK) {
        //Something
    });
});

不进入内循环,直接跳出循环。非常感谢任何帮助。

【问题讨论】:

  • arrForGrade 在哪里赋值?有什么价值? arrForSubject 的值是多少?您是否使用console.log() 验证过它们?
  • arrForGrade 未定义。问题是什么?
  • @PHPglue arrForGrade 是外循环,当按下网线时,会分配初始值。 arrForSubject 是一个内部循环。所以我认为内部循环存在一些问题,它已经为 j 和 itemJ 设置了初始参数
  • arrForGrade 可能已分配其初始值,但 arrForGrade 在循环之前是否保持其值?也许其他一些代码会将arrForGrade 重置为未定义。
  • @Neverever yes 。它拥有。我添加了第三张图片,说明它在进入循环时的外观。

标签: javascript jquery foreach each


【解决方案1】:

您的images 讲述了整个故事。 arrForGrade 是未定义的,因此尝试迭代它是行不通的,因为你不能迭代不存在的东西。

【讨论】:

  • arrForGrade 是外循环,当按下网线时,会分配初始值。 arrForSubject 是一个内部循环。所以我认为内部循环存在一些问题,它已经为 j 和 itemJ @EKW 设置了初始参数
  • 内循环没有问题。问题是 arrForGrade 未定义。当第一个 $.each 被调用时,arrForGrade 是未定义的,因此抛出错误并阻止循环内容的执行
  • 添加了第三张图片。 arrForGrade 最初保存这些值。它只是在进入循环后变得未定义。
  • 根据我看到的代码,它应该可以工作。唯一的解释是内部循环内部有一些东西把它弄乱了。请在内部循环中显示代码。
  • @EKW 深蓝色线在内部循环中断,所以看起来arrForGrade 在外部循环之前确实有价值
【解决方案2】:

它就在那里,直接在您的 IMAGE2 中...arrForGrade 未定义。不是你没有进入你的内循环,而是你甚至没有进入你的外循环。

【讨论】:

    【解决方案3】:

    arrForGrade 不存在。这就是为什么它没有进入第一个循环。 使用它们分开进入。

    $.each(arrForGrade, function(j, itemJ) {
        //currentLoad++;
    });
    $.each(arrForSubject, function(k, itemK) {
       //Something
    });
    

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-18
      相关资源
      最近更新 更多