javascript - 脚本5007 : Unable to get property 'value' of undefined or null reference in IE10

标签 javascript

我有一个js函数,它比较选择对象中的值和函数中保存的值。

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。导致错误的可能原因是什么。

最佳答案

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,因为它不存在)。

关于javascript - 脚本5007 : Unable to get property 'value' of undefined or null reference in IE10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23672291/

相关文章:

javascript - 有没有办法在使用 javascript 循环迭代时为每个 html 元素调用一个函数

javascript - 从 Mozilla 到 Chrome 的 webrtc 视频通话仅适用于 Chrome

javascript - 在 CasperJS 的表单外使用选择

javascript - 我应该在 promise 中调用 XMLHttpRequest async 吗?

javascript - 如果正在更新应用程序缓存,则阻止 ajax 调用

javascript - 如何将错误标签放入程式化的 div 中?

javascript - 增加和减少 SVG 形状 - JS

javascript - JQuery Post inside Promise inside every 如何创建数组

javascript - 使用 AJAX 传递包含 `&` 的参数

javascript - React-Redux 中的 mapStateToProps 中的状态参数是什么