数组在“for”表达式中消失,

时间:2013-07-23 12:41:19

标签: javascript arrays

有一些代码,它不起作用。

window.onload = function ()
{
    var div = document.getElementById ('main');
    var img = div.children;
    var i = 1;
    //console.log(img[i]);
    for (var i=1; i != img.length; i++)
    {
        img[i].onclick = function () 
        {
            console.log(img[i]);
        }
    }
}

请解释一下为什么console.log(img[i]);中的img [i]未定义? 如何解决这个错误?

2 个答案:

答案 0 :(得分:1)

为什么i!=img.length? 尝试更改为:

for (var i=0; i < img.length; i++)
        {
            img[i].onclick = function () 
            {
                console.log(img[i]);
            }
        }

答案 1 :(得分:0)

您声明var两次,删除 var 1 = 1;

并将 var i 值指定为零(0)

    for (var i=0; i < img.length; i++)
    {
        img[i].onclick = function () 
        {
            console.log(img[i]);
        }
    }