无法获取未定义或空引用的属性“选项”

时间:2013-09-25 10:08:51

标签: javascript

我收到上述错误即10请给我一个建议。工作正常

function getSelectedIndex(element, value) {
    var selectedIndex = 0;
    for(i = 0; i < element.options.length; i++) {
        if(element.options[i].value == value) {
            selectedIndex = i;
            break;
        }
    }
    return selectedIndex;
}

element.options.length给出了Unable获取未定义或null引用的属性“选项”。请给我一个示例代码。 编辑:当我使用IE11兼容模式时,它对我有用,但当我删除它并在正常模式下运行时,出现了上述问题。

2 个答案:

答案 0 :(得分:2)

使用elements.options.indexOf(value)(假设element已定义,但似乎并非如此)。顺便说一下,如果第一个元素匹配,则当前设计将返回零,完全没有匹配。如果您真的想编写自己的indexOf版本,最好在不匹配的情况下返回-1

答案 1 :(得分:0)

实际上,该消息为您提供了您需要知道的内容。 你试图读取一个没有值的东西的属性,这里是“element”或“element.options”,检查它们在函数调用之前设置的位置。 对于IE10来说,它是一个严格的,它不支持使用 element.options.length

相反你应该使用:

document.getElementById("optionsID").value

我希望这会有所帮助