【问题标题】:Error: Uncaught RangeError: Maximum call stack size exceeded错误:未捕获 RangeError:超出最大调用堆栈大小
【发布时间】:2013-07-08 19:31:27
【问题描述】:

我通过从按钮 onclick 获取数据创建了一个数组,然后我想获取这些数据以供将来使用 ajax。在这个阶段,我只希望它出现在控制台中:

fixtureArray.push(fixture);
$(fixtureArray).each(function() {
    triggerNumber = $(this).text();
    console.log(triggerNumber);
});

我也试过了

$.each(fixtureArray, function() {
        triggerNumber = $(this).text();
        console.log(triggerNumber);
    });

但控制台一直显示如下内容:

Uncaught RangeError: Maximum call stack size exceeded
Sizzle.getText
Sizzle.getText
Sizzle.getText
Sizzle.getText
Sizzle.getText
Sizzle.getText
...

知道为什么会发生这种情况吗?谢谢!

【问题讨论】:

  • 你能在jsfiddle.net上重现这个问题吗?
  • fixture 到底是什么?举个例子吧。
  • fixture 只是一些数字,例如 '1'、'2'、'3'
  • 例如:...,上面的代码将在一个名为 set(num) {...}
  • 对字符串使用 $(this).text() 是没有意义的!

标签: javascript jquery arrays loops each


【解决方案1】:

你不应该使用$(this).text(),如果它是一个字符串,使用传入的参数

var arr = ["1","2","3"];
$.each(arr, function (ind, value) {
    console.log(value);
});

【讨论】:

  • 谢谢,你是对的。我最后用了for循环,直接用了fixtureArray[i],然后才意识到问题...
猜你喜欢
  • 2018-01-24
  • 2018-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-28
  • 2014-08-01
  • 2013-05-17
  • 1970-01-01
相关资源
最近更新 更多