#javascript #dom #tree-traversal
#javascript #dom #обход дерева
Вопрос:
Какие методы обхода DOM (дерева) используют реализации функции javascript getElementsByTagName? Я спрашиваю, потому что я хотел бы быть уверенным, что массив, возвращаемый getElementsByTagName, содержит элементы DOM в порядке, примерно от верхней части документа до нижней, что имело бы место, например, при поиске в глубину дерева DOM.
Комментарии:
1. По какой-то причине я всегда предполагал, что для этого используется алгоритм BFS. Если вы беспокоитесь о порядке, я чувствую, что вам может потребоваться применить некоторые дополнительные условия к вашему алгоритму, чтобы ускорить его
Ответ №1:
Вы можете узнать подобные вещи, прочитав спецификацию
getElementsByTagName
Возвращает список узлов всех элементов-потомков с заданным именем тега в том порядке, в котором они встречаются при обходе этого дерева элементов в предварительном порядке.
Комментарии:
1. @celeritas — нет проблем, если вам не нужно, чтобы список узлов был активным, querySelectorAll на самом деле имеет лучшую поддержку в IE.