节点列表未激活/未传输到阵列

时间:2019-02-28 07:19:07

标签: javascript arrays nodes clonenode

我试图在每个节点上调用一个函数。在notchlick函数中定义了notch数组时,它不会创建该数组。当我将其放置在函数之外时,数组仅包含原始节点,而不包含克隆。由于该数组是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);
}
}

克隆的节点不执行原始操作。如图所示,在函数外部声明数组时,这是问题的根源吗?同样,鉴于我对闭包的理解,我也错过了为什么嵌套在函数中时数组不注册的原因。

0 个答案:

没有答案