html dom + javascriptを使用するとかなり簡単です。
var printhere = document.getElementById("printhere");
function stepthrough(el, prefix){
prefix = prefix || "";
if(el){
//Ignore the text nodes
if(!el.nodeName || !(/#text/i.test(el.nodeName))){
printhere.innerHTML += "<br />" + prefix + el.tagName;
if(el.firstChild){
stepthrough(el.firstChild, prefix + "--");
}
}
if(el.nextSibling){
stepthrough(el.nextSibling, prefix)
}
}
}
stepthrough(document.getElementById("testme"));
printhere.innerHTML += "<br />" + prefix + el.tagName;
の部分をカスタマイズして、任意のものに合わせることができます。
この例では、fiddleの実例が見つかります。
これは、問題の肉になっての利益のために、単純な私の答えを維持する任意のノード