Wie der Titel schon sagt, möchte ich einen bestimmten Teil des Textes in einem div ersetzen.
Die Struktur sieht folgendermaßen aus:
<div class="text_div">
This div contains some text.
</div>
Und ich möchte zum Beispiel nur "enthält" durch "Hallo an alle" ersetzen. Ich kann keine Lösung dafür finden.
Antworten:
Sie können die
text
Methode verwenden und eine Funktion übergeben, die den geänderten Text zurückgibt. Verwenden Sie dazu die nativeString.prototype.replace
Methode, um die Ersetzung durchzuführen:$(".text_div").text(function () { return $(this).text().replace("contains", "hello everyone"); });
Hier ist ein Arbeitsbeispiel .
quelle
text
Methode beim Übergeben einer Funktion den Text der Auswahl auf den Rückgabewert dieser Funktion setzt. Ohne das würdereturn
der Text durch nichts ersetzt.Wenn es möglich ist, können Sie die Wörter, die Sie ersetzen möchten, wie folgt in ein span-Tag einschließen:
<div class="text_div"> This div <span>contains</span> some text. </div>
Sie können den Inhalt dann einfach mit jQuery ändern:
$('.text_div > span').text('hello everyone');
Wenn Sie es nicht in ein span-Tag einschließen können, können Sie reguläre Ausdrücke verwenden.
quelle
var d = $('.text_div'); d.text(d.text().trim().replace(/contains/i, "hello everyone"));
quelle
Sehr einfach, verwenden Sie einfach diesen Code, er behält den HTML-Code bei und entfernt nur unverpackten Text:
jQuery(function($){ // Replace 'td' with your html tag $("td").html(function() { // Replace 'ok' with string you want to change, you can delete 'hello everyone' to remove the text return $(this).html().replace("ok", "hello everyone"); }); });
Hier ist ein vollständiges Beispiel: https://blog.hfarazm.com/remove-unwrapped-text-jquery/
quelle
Mit dem Selector "Enthält" können Sie nach Elementen suchen, die einen bestimmten Text enthalten
var elem = $('div.text_div:contains("This div contains some text")'); elem.text(elem.text().replace("contains", "Hello everyone"));
.
quelle