Всем привет! Столкнулся с такой проблемой, понадобилось просмотреть все элементы DOM с корня до самого глубокого и запомнить какой элемент имеет потомки, а какой нет. Для этого использую рекурсию.
function checkRoot(element){
   this.element = element;
   this.data = new Array();
   if (element.hasChildNodes){
      var childs = element.childNodes;
      for(var i=0; i<childs.length; i++){
         var newcheckRoot = new checkRoot(childs[i]);
      }	
   }	
}
Еще мне нужно занести в массив data информацию об узле, допустим его id, я думаю это сделать через наследование. То есть передавать в рекурсивно вызываемый класс, массив data, с уже какими то данными! С наследовании в рекурсии не сталкивался, поэтому надеюсь, что кто нибудь подскажет!