使用两个getElementByIds
是否可以执行以下操作:
this.getElementById('first-id').getElementById('second-id')?
执行此操作时,出现错误“getElementById(...).getElementById 不是函数。
我尝试这样做的原因是因为我能够控制台记录第一个 id 元素,而不是第二个(当我这样做时this.getElementById('second-id'))。我认为这是因为我的 DOM 没有完全加载。
但是,我认为因为它加载了 first-id 元素,我将能够在加载第一部分并且下一个元素嵌套/第一个 id 元素的子元素时执行另一个 getElementById 。
有人可以解释为什么这个逻辑不起作用吗?
回答
具有给定 ID 的元素在文档中应该是绝对唯一的。永远不应有多个具有相同 ID 的元素。因此,调用getElementById一个元素在其子元素中进行搜索,如果可能(事实并非如此),则没有多大意义——相反,从整个文档中进行搜索。你应该只需要
document.getElementById('second-id')