2016-01-24 4 views
4

Мне нужно получить все прямые дети элемента. Как он есть здесь:Javascript получить все прямые дети

<div class='1'> 
    <div class='2'> 
     <div class='3'></div> 
    </div> 
    <div class='2'></div> 
</div> 

Мне нужны два DIV с классом «2», используя один с классом «1». Обычный JavaScript - нет библиотек.

(Они же класс в этом примере только, чтобы быть более ясным. В моей потребности они с разных, неизвестных классов.)

ответ

4

Одним из вариантов является использование direct child combinator, > и универсальный селектор, *, для того, чтобы выбрать прямые дочерние элементы любого типа:

document.querySelectorAll('.element > *'); 

с другой стороны, есть также .children property, который будет возвращать все прямые дочерние элементы:

document.querySelector('.element').children; 
+1

, похоже, не работают, я не хочу, чтобы задача была тяжелой для процессора. Поэтому мой вопрос - будет ли проблема, если я использую 'menuitem' или' aside' или какой-либо другой тег вместо 'div' с классом« 3 »? – Krupp

+2

В этой операции нет ничего интенсивного процессора. Это буквально просто проверка того, имеет ли родительский элемент '.element' класс. – BoltClock