Javascript - Rekursive Funktion zum Durchlaufen von Elementen

Ich habe gerade angefangen, JavaScript zu lesen, und ich versuche, eine kleine rekursive Funktion zu schreiben, die bestimmte Knoten durchsucht und eine Liste von Werten als Zeichenfolge zurückgibt.

Meine HTML-Struktur könnte so ähnlich sein

<div id="parentfolder">parentfolder1
    <div class ="item1">item1</div>
    <div class ="item2">item2</div>
    <div id="parentfolder">parentfolder2
        <div class ="item1">item1</div>
        <div class ="item2">item2</div>
    </div>
</div>

Und hier ist meine Javascript-Funktion:

function jsoncreator(parentfolderclass){
    var jstring = '';

    //get first occurance of parent folder
    var parentfolder = document.getElementById(parentfolderclass);
    var childnodes = parentfolder.childNodes;

    for (property in childnodes){
        jstring += property+ childnodes[property];
        if(childnodes[property] === parentfolderclass){
            jsoncreator(parentfolderclass);
            jstring += childnodes[property].value + '<br>';
        }
        else{
            //jstring += childnodes[i].value + '<br>';
        }
    }
    document.write(jstring);
}

Alles, was ich zurück bekomme, ist

0[object Text]1[object HTMLDivElement]2[object Text]3[object HTMLDivElement]4[object Text]5[object HTMLDivElement]6[object Text]length7itemfunction item() { [native code] }

Wenn ich versuche, die Childnodes-Werte auszudrucken, erhalte ich eine Reihe von undefinierten Rückgaben.

Wenn jemand erklären könnte, was ich falsch mache, würde ich es wirklich zu schätzen wissen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage