当 document.getElementByID 在没有 ID 的情况下使用时,它在做什么?
When document.getElementByID is used without an ID what is it doing?
我正在查看的一些代码使用了我不理解的 getElementByID 变体。我在网上看过,但没有找到任何可以解释这一点的内容。
我知道如何使用像 document.getElementByID("bob") 这样的东西,但是我看到的是:
if (document.getElementByID){}
当您以这种方式使用 getElementByID 时,它在做什么?
这将 return false
:
if (document.getElementByID){}
因为document
对象上没有getElementByID
。但是,getElementById
(注意最后 d
的区别)。
因此,这将returntrue
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
return 是一个在表达式中计算结果为 true
的函数。您可以自己测试,但 运行 代码片段。
console.log(document.getElementById);
// The !! forces a boolean
console.log(!!document.getElementById);
document.getElementById
returns 可用于通过 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');
}
我正在查看的一些代码使用了我不理解的 getElementByID 变体。我在网上看过,但没有找到任何可以解释这一点的内容。
我知道如何使用像 document.getElementByID("bob") 这样的东西,但是我看到的是:
if (document.getElementByID){}
当您以这种方式使用 getElementByID 时,它在做什么?
这将 return false
:
if (document.getElementByID){}
因为document
对象上没有getElementByID
。但是,getElementById
(注意最后 d
的区别)。
因此,这将returntrue
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
return 是一个在表达式中计算结果为 true
的函数。您可以自己测试,但 运行 代码片段。
console.log(document.getElementById);
// The !! forces a boolean
console.log(!!document.getElementById);
document.getElementById
returns 可用于通过 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');
}