Gibt es eine Möglichkeit, den normalen Text in einem Tabellenelement zu ersetzen, das im HTML-Text platziert ist?
Wie "Hallo" durch "Hallo" ersetzen?
Bitte verwenden Sie nur JavaScript ohne jQuery .
javascript
html
Was auch immer
quelle
quelle
hello, this is a text randomTexthello
sollte seinhi, this is a text randomTexthello
. Alle anderen Antworten hier ersetzen jedoch die Zeichen anstelle von Wörtern.Antworten:
Um eine Zeichenfolge in Ihrem HTML durch eine andere zu ersetzen , verwenden Sie die Methode replace in innerHTML :
Beachten Sie, dass dies die erste Instanz des
hello
gesamten Körpers ersetzt, einschließlich aller Instanzen in Ihrem HTML-Code (z. B. Klassennamen usw.). Verwenden Sie diese Option daher mit Vorsicht. Versuchen Sie für bessere Ergebnisse, den Umfang Ihrer Ersetzung einzuschränken, indem Sie Ihren Code mithilfe von auswählen document.getElementById oder ähnlich.Verwenden Sie einen einfachen regulären Ausdruck mit dem
g
Lobal-Flag, um alle Instanzen der Zielzeichenfolge zu ersetzen :quelle
<script type="text/javascript"> window.onload = clear(); function clear() { document.body.innerHTML = document.body.replace('ü', 'n'); } </script>
window.onload = clear;
ohne die Klammern "()" gesetzt. Wenn Sie schreiben, führenclear()
Sie die Funktion tatsächlich aus, aber Sie möchten die Funktion nur dem Onload-Handler zuweisenDie folgende Funktion funktioniert perfekt für mich:
Hier ist ein Anwendungsbeispiel:
Sie können auch einen direkten Ersatz verwenden, wie folgt:
Aber seien Sie vorsichtig damit, da dies auch die Tags, CSS und Skripte beeinflussen kann.
BEARBEITEN: Verwenden Sie für eine reine JavaScript-Lösung stattdessen diese Methode:
quelle
Am Ende hatte ich diese Funktion, um Text (ohne Nebenwirkungen) sicher zu ersetzen:
Es ist für Fälle, in denen die 16kB
findAndReplaceDOMText
etwas zu schwer sind.quelle
Ich hatte das gleiche Problem. Ich habe meine eigene Funktion mit replace auf innerHTML geschrieben, aber es würde Ankerverbindungen und dergleichen vermasseln.
Damit es richtig funktioniert, habe ich eine Bibliothek verwendet , um dies zu erledigen.
Die Bibliothek hat eine tolle API. Nachdem ich das Skript eingefügt hatte, nannte ich es so:
quelle
Verwenden Sie die Standardfunktion zum Ersetzen von Javascript-Zeichenfolgen
quelle
Ich habe versucht, eine wirklich große Zeichenfolge zu ersetzen, und aus irgendeinem Grund haben reguläre Ausdrücke einige Fehler / Ausnahmen ausgelöst.
Also habe ich diese Alternative zu regulären Ausdrücken gefunden, die auch ziemlich schnell läuft. Zumindest war es schnell genug für mich:
src: Wie ersetze ich alle Vorkommen einer Zeichenfolge in JavaScript?
quelle
Versuchen Sie, die oben vorgeschlagene Lösung auf ein ziemlich großes Dokument anzuwenden, indem Sie ziemlich kurze Zeichenfolgen ersetzen, die möglicherweise in innerHTML oder sogar innerText vorhanden sind, und Ihr HTML-Design wird bestenfalls beschädigt
Daher nehme ich zunächst nur Textknotenelemente über HTML-DOM-Knoten auf
`und folglich habe ich den Ersatz auf alle im Zyklus angewendet
quelle
Wollte der Antwort von funky-future ein Beispiel hinzufügen , da ich immer wieder diesen Fehler bekam:
Verwendung wie folgt:
Bei jQuery-Selektoren hat es bei mir nicht funktioniert.
quelle
Ich bin neu in
Javascript
und habe gerade angefangen, diese Fähigkeiten zu lernen. Bitte überprüfen Sie, ob die folgende Methode nützlich ist, um den Text zu ersetzen.quelle
Manchmal
document.body.innerHTML
bricht das Ändern einige JS-Skripte auf der Seite. Hier ist eine Version, die nur den Inhalt vontext
Elementen ändert :quelle