Dies ist besonders nützlich, wenn Ankerelemente (oder andere übergeordnete Elemente) aus Text entfernt werden, der nicht in andere Elemente eingeschlossen ist, ein Fall, in dem die Unwrap-Methode nicht funktioniert. Obwohl die Methode “wrap and unwrap” für das, was ich gerade beschrieben habe, funktionieren würde, erfordert sie das Hinzufügen und den Rest von Markup wie .
– Dominor Novus
13. November ’12 um 16:49
Ich habe zuerst WrapInner und dann Unwrap ziemlich lieb gewonnen.
Wenn Sie beispielsweise versuchen, einen Hyperlink zu entpacken
Dieser Ansatz funktioniert immer noch sehr gut in Fällen, in denen Sie Teile von HTML entpacken müssen, ohne auf inner text() oder html() zu testen. Ich verwende diese Methode, um Benutzern zu ermöglichen, die Auswahl und Hervorhebung von dynamisch generiertem HTML abzubrechen.
– Mike Clymer
18. Januar ’18 um 20:55
Wie Sie dies tun, hängt von den zusätzlichen Einschränkungen in Ihrer Situation ab.
Es gibt keine allgemeine Möglichkeit zum Entfetten.
Wenn die Tags immer sind <b>, dann kannst du das machen
var h = $(elementSelector).html;
h = h.replace("<b>","");
h = h.replace("</b>","");
$(elementSelector).html(h);
Ich bin mir nicht sicher, warum Sie Regex nicht mögen.
In 1.4 können Sie auch für diesen Ansatz eine Funktion übergeben: $("p").html(function(i, h) { h = h.replace(/<b>/g,''); return h.replace(/</b>/g,''); });
– Nick Craver
9. März ’10 um 13:17
@Gaby – Einverstanden, aber wenn jemand anderes darauf stößt und diese Lösung möchte, schadet es nicht, sie zu haben.
– Nick Craver
9. März ’10 um 14:25
Technisch denke ich, dass eine reguläre string.replace() eine Regex verwendet, nicht wahr? Es ist nur so, dass ich in dieser Zeichenfolge keine Regex-Codes verwendet habe.
– Käse
9. März ’10 um 22:42
MBO
Um nur Text und nichts anderes zu entpacken, können Sie Folgendes verwenden:
$("b").replaceWith($("b").text());
$('b').contents().unwrap();
Zielen Sie auf den Inhalt des ausgewählten Elements und entpacken Sie es.
Mensch
Ich denke, sich in diesem Fall ausschließlich auf jQuery zu verlassen, verkompliziert die Dinge unnötig. Es wäre einfacher, die zu verwenden replace Methode, die entweder einen normalen String oder einen regulären Ausdruck akzeptiert.
Die Verwendung von Regex ist in diesem Fall im Allgemeinen der richtige Weg, da Sie mehrere Ersetzungen wünschen, die ungefähr das gleiche Muster haben.
.
2277700cookie-checkWie entpacke ich Text mit jQuery?yes