Сравнение количества элементов
важность: 5
Для любого документа сделаем следующее:
var aList1 = document.getElementsByTagName('a');
var aList2 = document.querySelectorAll('a');
Что произойдёт со значениями aList1.length
, aList2.length
, если в документе вдруг появится ещё одна ссылка <a href="#">...</a>
?
Значение aList1
изменится, потому что getElementsByTagName
– живая коллекция. Она автоматически дополнится новым элементом a
и её длина увеличится на 1.
А вот querySelector
, наоборот, возвращает статичный список узлов. Он ссылается на те же самые элементы, что бы не происходило с документом. Поэтому длина aList2.length
останется неизменной.