gpt4 book ai didi

Javascript 检查未定义问题

转载 作者:行者123 更新时间:2023-11-28 12:16:08 25 4
gpt4 key购买 nike

下面的代码在控制台中抛出一条错误消息,我不理解这个逻辑,因为在我的代码中你可以看到我编写了 if 语句,这些语句应该首先检查对象是否存在。

if (typeof document.getElementById("trbrok0").checked != "undefined") document.getElementById("trbrok0").checked = false;
if (typeof document.getElementById("trbrok1").checked != "undefined") document.getElementById("trbrok1").checked = false;
if (typeof document.getElementById("trbrok2").checked != "undefined") document.getElementById("trbrok2").checked = false;
if (typeof document.getElementById("trbrok3").checked != "undefined") document.getElementById("trbrok3").checked = false;

就像您所看到的,我们应该首先检查对象是否存在,然后尝试更改对象中“checked”属性的值。但我总是收到以下错误消息:

Uncaught TypeError: Cannot read property 'checked' of null

最佳答案

因为 document.getElementById("trbrok0") 返回一个 DOM 节点,如果它不存在,则返回 nullnull 没有属性 checked,因此 document.getElementById("trbrok0").checked 会引发错误。

修复方法是首先使用 if(document.getElementById("trbrok0")!= null){ }

添加节点是否存在的检查

关于Javascript 检查未定义问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49067563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com