2015-06-19 3 views
0

Я хочу, чтобы понять, как я могу получить элемент с идентификатором «takeme» в другом контексте, который не является документом, например:Как получить элемент по id с другим контекстом?

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

Я знаю, что я могу использовать:

document.getElementById('takeme'); 

будучи документом контекст, теперь я хочу знать, как я могу получить takeme от родителя, без использования queryselectorall, поэтому я пытался:

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

, но, конечно, не сработало.

+3

ID является уникальным, вы можете получить элемент по идентификатору независимо от того, где он находится в документ. –

+0

Я знаю, но я хочу понять, как получить элементы с другим контекстом. –

+0

Чтобы получить элементы элемента, вы можете использовать различные функции getElementsBy *, такие как 'getElementsByTagName',' getElementsByName', 'getElementsByClassName' и т. Д. –

ответ

2

getElementById для 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

если вы можете поместить класс в дополнение к ID

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

Тогда

var parent = document.getElementById('parent'); 
var takeme = parent.getElementsByClassName('takeme'); 
Смежные вопросы