@newaitix

Как занести в массив каждый вложенный элемент?

<div id="test1">
  <div id="a1">
    <div id="a2">
      <div id="a3">
      </div>
      <div id="a4">
      </div>
    </div>
    <div id="a5">
    </div>
  </div>
</div>

Взять див test1, и сложить в массив каждый элемент который находятся внутри него а так же сам элемент div#test1
То есть должно получиться что то вроде этого
var arr=[div#test1, div#a1, div#a2, div#a3, div#a4, div#a5];

Степень вложенности и количество вложенных элементов не известны.
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
@Bhudh
var nestedDivs = [ test1, ...test1.querySelectorAll('*') ];
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Interface
Если речь о DOM, то попробуйте так например:
$(elem).find('*').add(elem); // если корневой элемент в переменной
$('#test1, #test1 *'); // искать по ай-ди

Не сложно перенести на querySelectorAll.

Если речь о js, то смотрите в сторону flatten: https://lodash.com/docs/4.17.4#flatten
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы