Показать сообщение отдельно
  #5 (permalink)  
Старый 24.05.2013, 18:23
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

function traverse(el) {
  var stack = [el];
  var current;
  
  while (stack.length > 0) {
    current = stack.pop();
    var len = current.children.length;
    for (var i=0; i < len; i++) {
      stack.push(current.children[len-1-i]);
    }
    
    alert(current);
  }
}

traverse(document.body);

как-то так наверно проще будет если порядок обхода важен


а если не важен, можно
stack.push(current.children[i]);
вместо
stack.push(current.children[len-1-i]);
Ответить с цитированием