这是我写的树遍历函数 控制台显示:Uncaught TypeError: Cannot read properties of null (reading 'nextElementSibling');
错在哪里 找不出来
function nodes(tar,arr){
var firstNodes=tar;
while(tar!==null){
arr.push(tar);
if(tar.firstElementChild!==null){tar=tar.firstElementChild;continue;}
if(tar.nextElementSibling!==null){tar=tar.nextElementSibling;continue;}
while(tar!==null){
tar=tar.parentElement;
if(tar.nextElementSibling!==null){break;}
}
if(tar==firstNodes){return arr;break;}
else{tar=tar.nextElementSibling;}
}
}
第8行 while(tar!==null) 循环结束后,如果不是第10行退出,tar就是 null 了。后面的 if else 就是操作 null,所以 else{tar=tar.nextElementSibling;} 报你遇到的那个错了。这里需要检查tar不是null。