Hallo dedlfix,
Lass den Textknoten weg (span direkt nach dem li notieren) oder schließ die dich nicht interessierenden NodeTypes von der Verarbeitung aus. Dann allerdings reicht ein firstChild allein nicht. Ich würde dann durch die Child-Elemente iterieren und am ersten passeden Element abbrechen.
ich würde hier getElementsByTagName("span")[0] nehmen. Die "Child-Methoden" vermeide ich, wenn möglich, aus eben diesen Gründen.
Gruß, Jürgen