js获取已知id的DOM元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js获取已知id的DOM元素相关的知识,希望对你有一定的参考价值。

刚刚看一个代码吓到我了,代码大致如下:
<ul id="levelball">
</ul>
在js中竟然可以直接console.log(levelball),输出的是id为levelball的节点,吓,我并没有getElementById啊,为什么可以直接用id???

参考技术A 您好,html5规范文档中指出:如果一个元素符合下面两条规则中的任一条,则window对象中必须要有与之对应的一个属性,属性值就是这个对象.
如果一个元素拥有ID属性,那么ID属性的属性值就会成为window对象的属性名.
如果一个元素拥有name属性,那么name属性的属性值就会成为window对象的属性名.但这个元素的标签名必须是: a, applet, area, embed, form, frame, frameset, iframe, img, object,其中的一个。
> "foo" in window
false
> typeof foo // 这个全局变量到底有木有?
object
//错误控制台输出了下面的警告.//Element referenced by ID/NAME in the global scope.
//Use W3C standard document.getElementById() instead.

> foo
[object HTMLDivElement]
//错误控制台输出了下面的警告.//Element referenced by ID/NAME in the global scope.
//Use W3C standard document.getElementById() instead.> "foo" in window true本回答被提问者和网友采纳

以上是关于js获取已知id的DOM元素的主要内容,如果未能解决你的问题,请参考以下文章

D1.DOM-获取DOM元素、修改属性

已知子元素时如何在jQuery中获取父元素?

js中获取DOM元素

JS获取HTML DOM元素的方法

JS-DOM

不获取元素,直接使用id操作dom元素