提问人:Vicente Chomali 提问时间:2/25/2023 更新时间:2/25/2023 访问量:100
无法读取 null 的样式属性(即使代码行位于“if”内部,询问是否定义了变量
Cannot read style properties of null (even though the line of code is inside of an "if" asking is the variable is defined
问:
在我的网站中,有一个特定的选项卡,只为特定用户加载。
<?php if($User["UID"] == $SpaceCreatorUID){ echo "";?> <button class="button-container" id="qr-button">Mi QR<div id="qr-indicator" class="indicator"></div> </button> <?php echo ""; } ?>
没什么特别的;完美工作。但是,当选项卡没有为用户加载时(这是完美的),我的 JS 代码在以下行 (83) 停止工作:
qrIndicator.style.display = "none";
完全有意义,因为我将尝试为 null 对象定义样式属性。因此,我进行了以下更改(第 83 行):
if (typeof qrIndicator !== 'undefined'){qrIndicator.style.display = "none";};
但是,它不断抛出相同的错误:无法读取 null 的属性(读取“style”)。我缺少或不理解什么?
我将以下行 (14) 留给上下文:
try{var qrIndicator = document.getElementById("qr-indicator");}finally{};
是什么原因导致了这个问题?
答:
0赞
Chris Haas
2/25/2023
#1
不需要一个不会抛出的,它会返回,这很容易测试。try/catch
null
var qrIndicator = document.getElementById("qr-indicator");
if (qrIndicator){
qrIndicator.style.display = "none";
}
评论
typeof null === 'object'