Ruslan_xDD,
Изначальная задумка - да, перебор всех детей у каждого элемента, для поиска последнего ребёнка с заданным параметрами (они хранятся в атрибутах 'data-XXXX'), поэтому lastChild не катит.
Потом я меняю у найденного элемента стили, и эта проверка должна пройти по всем элементам дерева.
Вот я накатал примерчик с массивами, который прекрасно работает, к отличие от моего кода.
function try2RecurseIt() {
var MyArr = [[1,[2,3],4],[5,6],[7,8,[9,0]]];
letsDance(MyArr);
}
function letsDance(arr) {
for (var i=0; i<arr.length; i++) {
console.log("arr["+i+"] "+ arr[i]);
if (arr[i].constructor.toString().indexOf("Array") > -1) { // isArray check
letsDance(arr[i]);
}
}
}
Собственно, проблема не связана с изменениями в DOM, она более общая и где-то в другом месте. В основном коде уже убрал все действия, кроме консоле.логов, уже поменял переменную i на gsagdfsa, чтобы она была наверняка уникальной, но всё равно не могу понять, где и почему (и - что) теряет контекст выполнения. Блин.