getElementById的说明

问题描述 投票:0回答:1

所以我知道getElementById可用于文档对象。

const ELEMENT_BY_ID = document.getElementById('header'); // works fine

现在我想做的是在HTML节点而不是文档对象上使用getElementById。

const PARENT_ELEMENT = document.getElementById('parent');
const CHILD_BY_CLASS_NAME = PARENT_ELEMENT.getElementsByClassName('ch'); // Works fine
const CHILD_BY_ID = PARENT_ELEMENT.getElementById('child1'); // Error PARENT_ELEMENT.getElementById is not a function

在PARENT_ELEMENT中,我可以使用getElementsByClassName或标记名,但不知道为什么getElementById在这里不可用。为什么有getElementByClassName可用但getElementById不可用的原因。以下是我的HTML

 <div id="parent">
      <span id="child1" class="ch ch1">Child</span>
      <span id="child2" class="ch ch3">Child</span>
      <span id="child3" class="ch ch3">Child</span>
 </div>
javascript dom
1个回答
0
投票

[与其他一些元素查找方法(例如Document.querySelector()和Document.querySelectorAll()一样,getElementById()仅作为全局文档对象的方法可用,而对于所有元素对象中的方法不可用) DOM。因为ID值在整个文档中必须唯一,所以不需要该功能的“本地”版本。

© www.soinside.com 2019 - 2024. All rights reserved.