我有一些代码,我正在使用getElementByID的变体,我不明白。我已经在线查看,但我找不到任何解释这一点的内容。
我理解如何使用像document.getElementByID(" bob")这样的东西,不过我所看到的是:
if (document.getElementByID){}
以这种方式使用getElementByID它在做什么?
答案 0 :(得分:3)
document.getElementById
返回可用于通过ID获取某个元素的函数。
typeof document.getElementById; // 'function'
但是,如果某些浏览器没有实现getElementById
,您将获得undefined
。
因此,这只是一个测试,以确保方法在调用之前存在,避免错误。
if(document.getElementById) {
// Hopefully it's safe to call it
document.getElementById("bob");
// ...
} else {
alert('What kind of stupid browser are you using? Install a proper one');
}
答案 1 :(得分:1)
这将返回false
:
if (document.getElementByID){}
因为getElementByID
对象上没有document
。但是,getElementById
(注意到最后d
的差异)。
因此,这将返回true
if (document.getElementById){}
简而言之,如果文档中存在getElementByID
,由于输入而不存在,但如果确实存在,那么就会执行某些操作。
使用正确拼写的更完整示例:
if (document.getElementById) {
// it is safe to use this method because it exists on document
var element = document.getElementById('foo');
}
document.getElementById
返回一个在表达式中计算结果为true
的函数。您可以自己测试一下,但运行代码段。
console.log(document.getElementById);
// The !! forces a boolean
console.log(!!document.getElementById);