Aetae,
непонятно зачем нужна рекурсия?
if (document.createNodeIterator && document.createTreeWalker){ //Traversal API
texts = document.createNodeIterator( //создание NodeItertor
document,//обход всего документа
NodeFilter.SHOW_TEXT,//узлы текст
null,//нету функции фильтра
false//в HTML не используется
);
var text;
while((text = texts.nextNode()) != null){
//действия с узлами text
}
}