gpt4 book ai didi

javascript - if(document.getElementById ('something' )!=null) 与 if(document.getElementById ('something' )) 相同吗?

转载 作者:行者123 更新时间:2023-12-03 21:32:27 27 4
gpt4 key购买 nike

当我想检查页面中是否存在某个元素时。这两个检查是一样的吗?有没有更好更紧凑的方法来检查是否存在?

如果我想检查 value == '' 该怎么办。这也可以包含在这张支票中吗?

最佳答案

对元素的引用永远不会看起来“虚假”,因此省略显式空检查是安全的。

Javascript 将对 bool 上下文中某些值的引用视为 false:未定义、null、数字零和 NaN 以及空字符串。但是 getElementById 返回的要么是元素引用,要么是 null。因此,如果该元素位于 DOM 中,则返回值将是一个对象引用,并且在 if () 测试中所有对象引用均为 true。如果该元素不在 DOM 中,则返回值为null,并且null 始终为false if () 测试。

包含比较是无害的,但就我个人而言,我更喜欢保留一些不执行任何操作的代码,因为我认为每次我的手指敲击键盘时,我都可能会引入一个错误:)

请注意,使用 jQuery 的人不应该这样做:

if ($('#something')) { /* ... */ }

因为 jQuery 函数总是会返回一些“真实的”内容——即使没有找到元素,jQuery 也会返回一个对象引用。相反:

if ($('#something').length) { /* ... */ }

编辑 - 至于检查元素的,不,您不能在检查元素是否存在的同时执行此操作元素本身直接使用 DOM 方法。同样,正如其他人在答案中指出的那样,大多数框架都使其相对简单和干净。

关于javascript - if(document.getElementById ('something' )!=null) 与 if(document.getElementById ('something' )) 相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3247251/

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