я получил все узлы тега лейбл через querySelectorAll
дальше провёл итерацию по этому массиву, и если выполнялось условие, заносил узлы в свой массив
потом я прошёлся по полученному массиву ещё раз (почему за один проход нельзя - потому-что первая функция лежит в библиотеке )
//это в первой функции
if(eval(clause)){
elements[i].style.color="green";
console.log("adding element "+(elements[i][this.checkBy]||elements[i].getAttribute(this.checkBy))+"\n to index "+p);//пишет в консоль
this.results[p].push(elements[i]);
console.log("now length of "+p+" is: "+this.results[p].length);
console.log(this.results[p].toSource());
}
а потом , в другом месте
function lbltofield(mass,val){
console.log("mass length: "+mass.length);
for (var i in mass){
console.log( "got id :"+mass[i].getAttribute("for"));
document.getElementById(mass[i].getAttribute("for")).value=val;
}
}
сначала вызывается первая функция
потом на массивы, сформированные ей натравливается вторая
в консоли :
Код:
|
adding element el1 to index d
now length of d is: 1
[({})]
adding element el2 to index c
now length of c is: 1
[({})]
adding element el3 to index d
now length of d is: 2
[({}), ({})]
mass length: 1
got id :fn_11121
mass length: 0
TypeError: mass[i].getAttribute is not a function { message="mass[i].getAttribute is not a function", more...} |