Javascript 具有类的DOM树元素,它们是全局变量吗?
游泳课怎么样,为什么不能在全球范围内使用 以下是我的HTML代码:Javascript 具有类的DOM树元素,它们是全局变量吗?,javascript,html,dom,Javascript,Html,Dom,游泳课怎么样,为什么不能在全球范围内使用 以下是我的HTML代码: <section id="sports"> <p class="swim">Swim</p> <p id="bike">Bike</p> <p>Run</p> </section> 游泳 自行车 跑 与文档中的任何节点一样,CSS类为.swim的节点实际上是全局的 您可以在CSS中访
<section id="sports">
<p class="swim">Swim</p>
<p id="bike">Bike</p>
<p>Run</p>
</section>
游泳
自行车
跑
与文档中的任何节点一样,CSS类为.swim
的节点实际上是全局的
您可以在CSS中访问它,如.swim{display:none;}代码>
在Javascriptdocument.querySelectorAll('.swim')[0]中,style.display='none'代码>
或jQuery$('.swim')
这里是一个演示
游泳类怎么样,为什么不能全局访问
不,与IDs不同,您不能使用元素的类“全局”(通过窗口
对象)访问元素。原因是这不是规格
那到底是什么意思?许多元素具有相同的类,那么window.
意味着什么呢?它会是一个数组吗?HTML在同一个类中可以有几十个、数百个或数千个元素
每当元素上的类发生更改时,必须更新所有这些全局对象的速度也会非常慢。这是非常需要的,因为您有getElementsByClassName
和querySelector[All]
顺便说一下,从窗口
对象通过ID访问元素并不被认为是最佳做法。您是如何尝试访问它的?您所说的“全局访问”是什么意思?我访问的是swim.methodOrProperty。我刚刚注意到,对于ID,我可以使用bike.methodOrProperty。你理解我刚才给你的答案吗?是的,我理解你的答案只是想知道为什么类不能像ID那样访问。为什么要使用querySelectorAll()[0]
而不是querySelector
?