ho letto gli articoli sul javascript nn intrusivo e ho risolto in modo tale che nn ci fosse javascript nella pagina

ora la cosa strana è che funziona tutto ma mi da un errore
vi riporto prima il codice e poi vi dico l'errore

function Show(obj){
if(document.getElementById && document.createTextNode){
if(obj.style.display == 'none' ){
obj.style.display="block";
return;
}else if(obj.style.display != "none"){
obj.style.display="none";
return;
}
}
}


function arrayElement(){
if(document.getElementById && document.createTextNode){
var ol = document.getElementsByTagName('ol');
for(var i=0;i<ol.length;i++){
if(ol[i].className == 'sub'){
Show(ol[i]);
ol[i].parentNode.onclick=function(){
for(var i=0;this.childNodes.length;i++){
if(this.childNodes[i].className && this.childNodes[i].className == 'sub' ){
Show(this.childNodes[i]);
}
}
}

}
}

}

}

window.onload = function () {
arrayElement();
}
l'errore è

this.childNodes[i].className è nullo o nn è un oggetto

nn capisco l'errore
qualcuno mi può aiutare?