Список узлов не работает / не переносится в массив - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь вызвать функцию для каждого узла.Когда массив notch определен в функции notchlick, он не создает массив.Когда я размещаю его вне функций, массив включает только исходные узлы, а не клоны.Поскольку массив является htmlcollection, я предполагаю, что это будет живой список.

let notch;

poppin = function () {

ole.classList.replace ('okay', 'olay');

ulay.classList.replace ('unlay', 'ulay');

bup[0].classList.replace ('bup', 'cup');

pegs.classList.replace ('pegs', 'legs');

if (!ran) {

    notches();
    switches();
}

count = 0;
}

let notches = function () {

for (a = 0; a < tn; a++) {

    let svgc = svg.cloneNode(true);

    pegs.append(svgc);
}   

ran = true;

}

notch = Array.prototype.slice.call(document.getElementsByTagName('svg'));

notchlick = function (k) {

notch[k].onclick = function () {

    spright();
    spleft();   
    bup[count].classList.replace ('cup' , 'bup');

    count = k;
    bup[count].classList.replace ('bup' , 'cup')        
}
}

switches = function () {

for (k = 0; k < notch.length; k++) {

    notchlick(k);
}
}

Клонированные узлы не действуют так, как оригиналы.Является ли это источником проблемы, когда массив объявлен вне функции, как показано?Также, учитывая мое понимание замыканий, мне не хватает, почему массив не регистрируется при вложении в функцию.

...