0

我有一个 JS 函数部分,内容如下:

for (i = 0; i < kodoj.length; i++) {
    var x = document.getElementsByName(kodoj[i]);
    if (kodoj[i]=="zh-CN") {
        var y = document.getElementsByName("zh-TW");
        if (x[0].checked || y[0].checked) { /*do this*/ }
        else if (x[1].checked || y[1].checked) { /*do this*/ }
        else if (x[2].checked && y[2].checked) { /*continue*/ }
        else {
            alert("........");
            return;
        }
    }
    else if etc.

我得到“x[0] 未定义”,但从来没有“x[1] 或 x[2] 未定义”阅读了一些与声明二维数组类似的问题后,我在函数 var x = document. getElementsByName("zh-CN"); 但这并没有帮助。我只是一个自学的程序员,所以我不知道查询等任何特殊功能。有人可以帮助我吗?

4

2 回答 2

0

你确定 x不是一个空数组吗?你可能永远不会得到“x[1] or x[2] is undefined”,因为在 x 为空的情况下执行永远不会走到这一步。

于 2013-09-12T10:13:38.183 回答
0

我想您应该将 i=0 的值更改为 i=1

kodoj[0] 会给你 null 所以你得到 "x[0] is undefined" 错误

于 2013-09-12T10:11:55.357 回答