Ich habe so viel Zeit damit verschwendet ... der Rekursionsteil ist ziemlich illusorisch.
für eine gegebene HTML-Struktur unbekannter Tiefe muss ich in JSON konvertieren.
(Ich benutze das von einem YAML-i18n-Übersetzungssystem, das ich gerade baue)
Meine allgemeine Idee ist es, tief zu gehen, bis das INPUT
gefunden wird, und dann ein
Objekt mit dem Schlüssel / Wert von span.innerHTML/input.value
und gebe das zurück
Objekt, also ist es der Wert eines Schlüssels, der die letzte <span class="title">
erreicht.
(Ja, es ist ein bisschen kompliziert, aber sehr interessant zu entwickeln)
JSBIN-Spielplatz - Live-Codebeispiel
Ich kann meine rekursive Funktion nicht richtig ausführen, um den JSON auszugeben, den ich möchte ...
Ich bin neu hier und ich konnte nicht finden, wie man einen Kommentar schreibt. Ich wollte dich fragen, ob das immer die Struktur ist, egal in welcher Abteilung. Wenn die Antwort nein ist, dann lies meine Antwort nicht :).
Zuallererst habe ich eine Funktion getPrevious hinzugefügt, weil direktes Abrufen des vorherigen Geschwisters einen Textknoten zurückgibt. Als nächstes habe ich die Rekursion etwas geändert, da es sich nicht um eine einfache Rekursion handelt, unterscheidet sich das Json-Format (die Eltern-Kind-Beziehungen) vom HTML-Format. Ich habe es für 2 weitere Levels probiert und es ist ok. Ich hoffe, es ist hilfreich und tut mir leid, wenn es nicht so ist.
%Vor%Sie erhalten:
[{"UL": [{"LI": [{"DIV": []}]}, {"LI": [{"DIV": []}, {"UL": [{" LI ": [{" DIV ": []}]}, {" LI ": [{" DIV ": []}]}, {" LI ": [{" DIV ": []}, {" UL ": [{" LI ": [{" DIV ": []}]}, {" LI ": [{" DIV ": []}]}, {" LI ": [{" DIV ": [] }]}, {"LI": [{"DIV": []}]}]}}}, {"LI": [{"DIV": []}]}]}]}, {"LI" : [{"DIV": []}]}, {"LI": [{"DIV": []}}}}]
Tags und Links javascript