Вернуться к уроку

Сравнение количества элементов

важность: 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 останется неизменной.