2015-09-29 2 views
-2

Как выбрать второй тег <a>, используя чистый Javascript?Выбор дочернего узла (DOM)

<div class="navigation"> 
    <a href="/page/2/">Prev</a> 
    <a href="/page/4/">Next</a> 
</div> 
+0

Есть несколько возможностей: 'document.querySelectorAll (». Навигацией ') [1], 'document.querySelector (' .navigation '). children [1] ',' document.querySelectorAll ('. Навигация a: nth-child (2) ') ',' document.getElementsByClassName (' navigation ') [0] .children [1] '. Зависит от вашего варианта использования. – Xufox

ответ

1

Используйте селектор DOM getElementsByClassName().

Возвращаемая стоимость: массив элементов, содержащий имя класса.

Заменить [?] указателем цели из возвращаемого значения переключателя getElementsByClassName. Например, если тег <div>, содержащий теги <a>, был первым элементом документа с именем класса navigation, тогда он будет иметь индекс 0 (так как он основан на 0) возвращаемого массива, поэтому вы должны использовать [0] для соответствующего элемент.

Используйте .children свойства возвращать HTMLCollection дочерних узлы (в данном случае <a> тегов), из которых их родительского узла (в этом случае <div> тега).

// JS

document.getElementsByClassName('navigation')[1].children[1]; 

// HTML

<div class="navigation"> 
    <a href="/page/1/">Prev</a> 
    <a href="/page/2/">Next</a> 
</div> 
<div class="navigation"> 
    <a href="/page/3/">Prev</a> 
    <a href="/page/4/">Next</a> (selected element) 
</div> 
<div class="navigation"> 
    <a href="/page/5/">Prev</a> 
    <a href="/page/6/">Next</a> 
</div> 
<div class="navigation"> 
    <a href="/page/7/">Prev</a> 
    <a href="/page/8/">Next</a> 
</div> 
+0

Может ли downvoter объяснить, почему они занижены? Или это наказание за ответ на этот вопрос? – AmmarCSE

+0

Использование 'getElementsByTagName' не является специфичным, вы выбираете все теги' 'во всем документе ... а также падение производительности с помощью селектора, такого как этот. –

Смежные вопросы