Ich habe eine verschachtelte Menge von HTML-Tags und ich möchte alle Tags und ihre Kinder ohne Text löschen.
Beispiel:
%Vor%Ich möchte also Bereiche mit Bildern und Text bleiben und andere verlassen.
Ich brauche das Ergebnis nach meiner Funktion :
%Vor%Ich habe herausgefunden, dass dies rekursiv entweder durch JavaScript oder jQuery mit seiner 'Methode .children () geschehen soll. Hier ist mein Code, den ich verwenden wollte, aber ich kann mir nicht vorstellen, wie man Rekursion erstellt:
%Vor%Dieser Code ist kaputt, löscht leere Felder und lässt sie leer ... Wie bekomme ich mein Ergebnis mit Rekursion?
BEARBEITET
Hier ist mein Beitrag: Ссылка
EDITED 2 mal
Ich habe einen Fehler in der richtigen Antwort gefunden, aber er ist klein. Wenn ich Code wie diesen habe:
%Vor%Ich nehme an, dass es zu folgendem Ergebnis kommt:
%Vor% previous "Korrekte" Antwort auf meine Frage ergab falsches Ergebnis bei <span> <br> Some text</span>
. Andere Antworten waren falsch nach dem Testen ein bisschen.
Siehe mein JSfiddle: Ссылка
Sie können dies ohne Rekursion versuchen, indem Sie jedes verwenden. Suchen Sie auch nach nichttexthaltigem Tag, wie zB img
%Vor% Sie können $(this).has('img').length ==0
für Eingabe, Iframe oder andere nicht texthaltige Tags wie $(this).has('img, input, iframe').length ==0
Dies ist eine sehr schnelle und schmutzige Art, Ihr Problem zu lösen
%Vor%Das sollte es tun. Aber das wird auch das Bild entfernen. Sie müssen eine Bedingung hinzufügen, um das Bild nicht zu entfernen.
%Vor%Tags und Links javascript jquery recursion