Angular addEventListener динамических элементов

Добрый день!

Почему addEventListener('click') срабатывает через раз, а не каждый раз? Причем срабатывает как-то странно.

let buttons = document.getElementsByClassName('getLiked');
let length = buttons.length;

for (let i = 0; i < length; i ) {
buttons[i].addEventListener('click', function () {
let row = buttons[i].parentNode.parentNode.parentNode;
row.classList.toggle('noLiked');
row.classList.toggle('isLiked');

if (row.classList.contains('star'))
row.classList.add('ng-hide');
console.log(row);
});
}

Вывод в консоль происходит каждый клик, но сначала ничего не выводит, потом выводит 1 объект, потом 2 и т.д., на каждом клике. А вот класс меняет через раз. В AngularJS такой код работает отлично.

let row = buttons[i].parentNode.parentNode.parentNode; - вот эта строка смущает. Между родительскими узлами есть еще и текстовые, которые может ангуляр пропускать. Может быть поэтому и срабатывает через раз, если не поможет то отправьте весь код)