扫码关注官方订阅号
走同样的路,发现不同的人生
如果浏览器没有document.getElementById这个方法,又没有做第一次验证,那么直接用 document.getElementById("linklist")
调用了一个不存在的方法,代码是会报错的
if (!document.getElementsByTagName)是确定浏览器是否有 document.getElementsByTagName 这个方法,因为一些老的浏览器没有这个方法。在有这个方法的基础上才能用这个方法来查找元素。
if (!document.getElementsByTagName)
前面是验证浏览器是否支持document.getElementById这种API,后面是验证是否存在这个节点。《DOM编程艺术这本书》挺好的,适合入门,但是我觉得不要太在意这些验证,因为现在几乎所有的浏览器都支持前面你写的那些api。
document.getElementById
谢楼上各位回答。不过其实我的疑惑是为什么要验证两遍,我觉得只要验证能用某个DOM方法成功获取一个元素就可以了,不用再另外验证DOM方法本身。正如@Injet 提到的,这个意义应该是在debug的时候容易锁定问题吧
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
如果浏览器没有document.getElementById这个方法,又没有做第一次验证,那么直接用 document.getElementById("linklist")
调用了一个不存在的方法,代码是会报错的
if (!document.getElementsByTagName)是确定浏览器是否有 document.getElementsByTagName 这个方法,因为一些老的浏览器没有这个方法。在有这个方法的基础上才能用这个方法来查找元素。
前面是验证浏览器是否支持
document.getElementById这种API,后面是验证是否存在这个节点。《DOM编程艺术这本书》挺好的,适合入门,但是我觉得不要太在意这些验证,因为现在几乎所有的浏览器都支持前面你写的那些api。
谢楼上各位回答。不过其实我的疑惑是为什么要验证两遍,我觉得只要验证能用某个DOM方法成功获取一个元素就可以了,不用再另外验证DOM方法本身。
正如@Injet 提到的,这个意义应该是在debug的时候容易锁定问题吧