SCRIPT5007:无法在IE10中获取未定义或空引用的属性“值”

时间:2014-05-15 07:53:42

标签: javascript

我有一个js函数,用于比较select对象中的值和函数中保存的值。

function xyz()
{
document.getElementById("max1").options.value='abc';
document.getElementById("max2").options.value='xyz';

    for (var i=0;i<=document.formabc.max1.options.length;i++)
    {   
       if(document.getElementById("max1").options[i].value == 
        document.getElementById("max1").options.value)
       {
          //Some code
       }
    }
}

我收到一个错误,即document.getElementById(“max1”)。options [i]未定义。我正在使用IE10。可能导致错误的原因是什么。

1 个答案:

答案 0 :(得分:2)

i==0时是否收到此错误?如果没有,则将for循环条件更改为

for (var i=0; i < document.formabc.max1.options.length; i++)

您的条件为i <= document.formabc.max1.options.length

如果下拉列表中有10个项目,则第9个项目将是最后一项,因此循环需要持续10次(从0到9,基于零的索引)。根据您的情况,循环将持续最多11次(0到10),因此您不会获得document.getElementById("max1").options[10].value(因为它不存在,它将是undefined。)