如何通过id获取其他上下文元素?

时间:2015-06-19 19:52:02

标签: javascript html

我想了解如何才能获得一个ID为' takeme'在其他不是文档的上下文中,例如:

<div id="parent">
  <div id="takeme"></div>
</div>

我知道我可以使用:

document.getElementById('takeme');

正在记录上下文,现在我想知道如何在不使用queryselectorall的情况下从父级获取内容,所以我试图:

var parent = document.getElementById('parent');
parent.getElementById('takeme');

但当然没有用。

2 个答案:

答案 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');