javascript - 访问选择列表的选项时获取 "null or not an object error"

标签 javascript select null

当我尝试用 javascript 编写代码时,我似乎一遍又一遍地收到此 null or not an object 错误。这是一个简单的例子,我只是想弹出一个显示选项名称的窗口。我在编码时如何避免出现此错误?

代码在 Internet Explorer 中返回此错误:

Error: 'document.forms.0.questions' is null or not an object

<!DOCTYPE html>
<!-- HTML5 style -->
<head>
<title>Challenge Question</title>
<script type="text/javascript">
/* <![CDATA[ */
window.alert(document.forms[0].questions.pet.name);
/* ]]> */
</script>
</head>
<body>
<form action="get" >
    <select name="questions">
        <option value="pet" name="pet">What is your pet's name?</option>
    </select>
</form>
</body>
</html>

最佳答案

必须先将元素添加到 DOM 中,然后才能访问它。现在您正在尝试访问一个尚不存在的元素:

<!DOCTYPE html>
<html>

<head>
    <title>Challenge Question</title>
</head>
<body>
    <form action="get">
        <select name="questions">
            <!-- Element is added here -->
            <option value="pet" name="pet">What is your pet's name?</option>
        </select>
    </form>
    <script type="text/javascript">
        /* and can be accessed here, after it's added */
        console.log(document.forms[0].questions.options['pet']);
    </script>
</body>

</html>

FIDDLE

关于javascript - 访问选择列表的选项时获取 "null or not an object error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15726929/

相关文章:

javascript - 通过 jQuery 检查链接

javascript - 事件中的流类型细化

MySQL 连接两行

jquery - 当更改通过 jQuery 选择的选项时,Safari 不会更新 SELECT 的呈现

mysql - 如何在一次计算中选择和过滤公式

javascript - 在页面更改或页面刷新时保持主题启用

javascript - jstree 插件和 stopPropagation 问题

unix - 识别并删除 UNIX 中的空字符

sql - 如何将带有字符串的列中的空白转换为空值

MySQL 无法选择特定字段值?