2015-06-23 145 views
-1

的特性“值”,我有以下的JavaScript代码,我得到一个错误,指出:遗漏的类型错误:无法读取未定义的JavaScript

Uncaught TypeError: Cannot read property 'value' of undefined"

具体而言,在该行:if(inputArray[i].value===resultArray[4]){ ...

var inputArray=[ 
    document.getElementById("ain") 
    ,document.getElementById("ein") 
    ,document.getElementById("iin") 
    ,document.getElementById("oin") 
    ,document.getElementById("uin")]; 

var ii=0; 
while(ii<inputArray.length){ 
    if(inputArray[i].value===resultArray[4]){ 
     inputArray[i].style.backgroundColor="yellow"; 
     alert(resultArray[4]); 
    } 
    ii++; 
} 

有任何建议吗?

+3

你在哪里为'inputArray [i]'定义变量'i'?我看到你定义了'ii',而不是'i' – Tom

+1

use:inputArray [ii] –

+0

你可以使用一种叫做“调试”的技术。在错误处放置一个断点。然后检查变量'i'和'inputArray [i]'的值。 –

回答

1

首先,您从不定义您在inputArray[i]中使用的变量i。但是,除此之外,你的代码很混乱 - 你基本上正在做的是什么for循环会为你做什么,但在while循环中,并且你正在循环外定义一些变量ii

for(var i = 0; i < inputArray.length; i++) { 
    if (inputArray[i].value === resultArray[4]) { 
    inputArray[i].style.backgroundColor = "yellow"; 
    alert(resultArray[4]); 
    } 
} 
相关问题