No sé por qué está devolviendo un error con tagName. ¿La subetiqueta está mal?
for (var ind = 0; ind < target.length; ind++) { var target = target[ind] for (var ind; ind < target.childNodes.length; ind++); { const subLabel = target.childNodes[ind]; if (subLabel.tagName == "SPAN" || subLabel.tagName == "LI") //error line { //do something with label } typeDisplay(subLabel); } }Es común para los bucles anidados usar una variable de bucle diferente, como mientras que el bucle externo usa var i=0; el ciclo interno usa var j=0; .
El código publicado, la segunda variable var ind está duplicada, porque comparte el mismo alcance variable de la primera var .
Está utilizando el mismo nombre de variable tanto en el bucle for interno como externo (es decir, var ind ).
lo que puede hacer aquí es cambiar el nombre de la variable en el ciclo interno o cambiar el nombre de la variable en el ciclo externo.