javascript - 无法读取未定义的属性 '0'

标签 javascript jquery

我有一个加载并返回 JSON 项目的网格。添加了单选按钮过滤器来过滤这些项目。每次选择单选按钮时,网格项目都会刷新以显示符合过滤条件的项目。

事情是,当我单击单选按钮时,没有任何反应,并且我看到 无法读取未定义的属性“0” 错误。 JSON 加载正确,并且没有任何 404 或 500 错误,我可以使用 Chrome DevTools 确认这一点。有问题的代码行似乎是 while (typeof n.main[l.toString()] != "undefined")。下面是包含上述代码的函数:

function j(n) {
var m = [],
    l;
if (n.main != "undefined") {
    l = 0;
    while (typeof n.main[l.toString()] != "undefined") {
        m.push(n.main[l.toString()]);
        l++
    }
}
if (GridApp.logging) {
    $.log(m.length + " talks loaded")
}
m = f(m);
m = GridMathFactory.applyGridMath(m);
GridModel.setTalkVOs(m);
d = e(d);
for (l = 0; l < d.length; l++) {
    d[l].talkIdx = l
}
    GridController.onTalksLoadSuccess()
}

这是函数n的代码:

function n() {
if (GridApp.logging) {
    $.log("GridMathFactory.calculateSubColumns()")
}
var B = 0;
var A;
for (var z = 0; z < q.length; z++) {
    var y = columnScale - 1;
    if (t[y] < f.length) {
        A = g(q[z], B)
    }
    B += (A) ? k : k;
    if (GridApp.logging) {
        $.log("Just calculated column " + z + "; Contained 1 ? " + A)
        }
    }
}

最佳答案

if (n.main != "undefined") {

应该是:

if (n.main !== undefined) {

或者:

if (typeof n.main != "undefined") {

关于javascript - 无法读取未定义的属性 '0',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20858198/

相关文章:

javascript - 如何使用 jQuery 遍历定位多个重复元素之一?

javascript - 正则表达式用jQuery中的特殊字符替换子字符串

javascript - 比较javascript中的两个数字范围

javascript - 为什么此 Accordion 菜单中的子菜单没有保持打开状态?

javascript - 如何在javascript多维数组中存储asp记录集?

javascript - 下拉菜单中的 Bootstrap 4 选项卡

javascript - 语义 Ui 模态抖动行为

javascript - 清除间隔不起作用

javascript - 我需要一个特定的十进制转换我做不到

javascript - 没有 Action 的 JQuery Flip 切换刷新