Ich sehe das eher so:
<ul class="dirtree">
<li>Knoten 1</li>
<li>Knoten 2</li>
[...]
</ul>
>
> Den üblichen Aufzählungspunkt (Bullet) nehmen wir mit list-style-type:none weg, die Verbindungslinie kommt als links ausgerichtetes und nicht wiederholtes Hintergrundbild in die li-Elemente; das letzte seiner Art bekommt ein abweichendes Bild (eines, das keine Linienfortsetzung nach unten mehr hat). Wenn man dann noch die Höhe der li-Elemente an das Bild anpasst, stimmt die Chose schon beinahe. Das kann man dann sogar verschachteln, und die Darstellung passt immer noch.
> Das je nach Browser unterschiedliche Handling der Listeneinrückung muss man eventuell normalisieren, indem man padding-left und margin-left sowohl des ul- als auch der li-Elemente explizit setzt.
Das ist das Ergebnis des tatsächlichen Codes, generiert durch JavaScript:
![](http://www.abload.de/img/auswahl_005sza9.png)
Und das kriegt man mit der Technik, die du erwähnt hast, sicher schlecht hin.
Außerdem sind auch noch die Minus- bzw. Plus-Buttons anklickbar, dementsprechend wird der Baum erweitert/zusammengeklappt.
Außerdem kann der Baum theoretisch in eine unbegrenzte Tiefe gehen.