gogoend / blog

blogs, ideas, etc.
MIT License
9 stars 2 forks source link

浏览器中,在不声明变量的情况下,可以直接使用元素id作为变量来获得获得元素? #30

Open gogoend opened 4 years ago

gogoend commented 4 years ago

没错,这是一个冷知识🤪

image

通过下列代码来拿id为el001的元素

el001
window.el001
self.el001
globalThis.el001
document.getElementById('el001')

以上代码都可以拿到我们想要的元素。

值得注意的是,(在Chrome浏览器中)如果出现了多个id相同的元素,那么使用全局变量拿到的将会是一个HTMLCollection对象,其中包含了多个元素。

image

假设元素的id是使用短横线命名的,此时若要通过这种方式来拿元素,则必须借助全局对象来获得元素。

image

gogoend