我想了解如何才能获得一个ID为' takeme'在其他不是文档的上下文中,例如:
<div id="parent">
<div id="takeme"></div>
</div>
我知道我可以使用:
document.getElementById('takeme');
正在记录上下文,现在我想知道如何在不使用queryselectorall
的情况下从父级获取内容,所以我试图:
var parent = document.getElementById('parent');
parent.getElementById('takeme');
但当然没有用。
答案 0 :(得分:2)
getElementById
的{p> HTMLElement
将无效,因为getElementById
仅为文档定义。有一个Document.getElementById,但没有Element.getElementById
。
正如评论者提到的那样,父节点不需要它,因为id
对于document
应该是唯一的。
但是,Element.getElementsByClassName等其他方法应适用于不同的上下文(HTMLElement
)
var parent = document.getElementById('parent');
var fromOtherContext = parent.getElementsByClassName('takeme');
console.log(fromOtherContext);
fromOtherContext = parent.getElementById('takeme');
console.log(fromOtherContext);//only works for document
<div id="parent">
<div class="takeme"></div>
<div class="takeme"></div>
<div class="takeme"></div>
<div id="takeme"></div>
</div>
答案 1 :(得分:1)
如果您可以在ID
之外添加一个类<div id="takeme" class="takeme"></div>
然后
var parent = document.getElementById('parent');
var takeme = parent.getElementsByClassName('takeme');