Поиск дочернего элемента родительского чистого javascript
каким был бы наиболее эффективный метод, чтобы найти дочерний элемент (с классом или идентификатором) конкретного родительского элемента, используя только чистый javascript. Не jQuery или других фреймворков.
в этом случае, мне нужно найти child1 или child2 на родитель, предполагая, что дерево DOM может иметь несколько child1 или child2 элементы класса в дереве. Я хочу только элементы родитель
<div class="parent">
<div class="child1">
<div class="child2">
</div>
</div>
</div>
3 ответов:
The
childrenсвойство возвращает массив элементов, например, так:parent = document.querySelector('.parent'); children = parent.children; // [<div class="child1">]
querySelector- Это относительно новый и не поддерживается в старых браузерах. Есть альтернативы, какdocument.getElementsByClassName('parent')[0]если вы так хотите.
Edit: теперь, когда я думаю об этом, вы можете просто использовать
querySelectorAllполучить потомков отparentимея имя классаchild1:children = document.querySelectorAll('.parent .child1');разница между qS и qSA заключается в том, что последний возвращает все совпадающие элементы селектор, в то время как первый возвращает только первый такой элемент.
Если у вас уже есть
var parent = document.querySelector('.parent');вы можете сделать это, чтобы расширить область поиска доparentдетей:parent.querySelector('.child')
просто добавив еще одну идею, вы можете использовать селектор ребенка, чтобы получить немедленных детей
document.querySelectorAll(".parent > .child1");должен вернуть все непосредственные дочерние элементы с классом .child1, так
Comments