84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
走同样的路,发现不同的人生
如果浏览器没有document.getElementById这个方法,又没有做第一次验证,那么直接用 document.getElementById("linklist")
调用了一个不存在的方法,代码是会报错的
if (!document.getElementsByTagName)是确定浏览器是否有 document.getElementsByTagName 这个方法,因为一些老的浏览器没有这个方法。在有这个方法的基础上才能用这个方法来查找元素。
if (!document.getElementsByTagName)
前面是验证浏览器是否支持document.getElementById这种API,后面是验证是否存在这个节点。《DOM编程艺术这本书》挺好的,适合入门,但是我觉得不要太在意这些验证,因为现在几乎所有的浏览器都支持前面你写的那些api。
document.getElementById
谢楼上各位回答。不过其实我的疑惑是为什么要验证两遍,我觉得只要验证能用某个DOM方法成功获取一个元素就可以了,不用再另外验证DOM方法本身。正如@Injet 提到的,这个意义应该是在debug的时候容易锁定问题吧
如果浏览器没有document.getElementById这个方法,又没有做第一次验证,那么直接用 document.getElementById("linklist")
调用了一个不存在的方法,代码是会报错的
if (!document.getElementsByTagName)
是确定浏览器是否有 document.getElementsByTagName 这个方法,因为一些老的浏览器没有这个方法。在有这个方法的基础上才能用这个方法来查找元素。
前面是验证浏览器是否支持
document.getElementById
这种API,后面是验证是否存在这个节点。《DOM编程艺术这本书》挺好的,适合入门,但是我觉得不要太在意这些验证,因为现在几乎所有的浏览器都支持前面你写的那些api。
谢楼上各位回答。不过其实我的疑惑是为什么要验证两遍,我觉得只要验证能用某个DOM方法成功获取一个元素就可以了,不用再另外验证DOM方法本身。
正如@Injet 提到的,这个意义应该是在debug的时候容易锁定问题吧