Я пытаюсь реализовать функцию getElementsByClassName, которая ведет себя точно так же, как метод DOM. Через много исследований я придумал следующее, но кажется, что возвращаемое не соответствует возврату стандартного метода. Последний оператор console.log
, похоже, печатает то, что я ищу, но каким-то образом возвращается. Любые предложения или помощь будут очень благодарны!getElementsByClassName recursion
var getElementsByClassName = function(className){
var results= [];
var bod = document.body;
var iterateBod = function(bod){
if(bod.classList && bod.classList.contains(className)){
results.push(bod);
console.log(results)
}else{
for(var i = 0; i < bod.childNodes.length; i++){
iterateBod(bod.childNodes[i]);
}
}
};
iterateBod(bod);
console.log(results);
return results;
};
почему вы остановить итерацию, если объект имеет класс соответствия? – Sebas