Ich versuche, eine ReplaceWith-Funktion in jQuery schreiben, die bestimmte Wörter mit HTML ersetzen wird.Ersetze Klartext mit HTML mit jQuery
Grundsätzlich versuche ich etwas wie [this]
mit <span class='myclass'>
zu ersetzen, wie das Dokument geladen wird. Ich habe mich nach ein paar Proben umgeschaut, aber die paar Sachen, die ich gesehen habe, konnte ich nicht zur Arbeit bringen. Ich lerne immer noch jQuery, also hoffe ich, dass jemand mir ein paar Vorschläge geben könnte, was ich versuchen sollte.
Vielen Dank im Voraus, Steven.
HTML/Text:
[this]hello world![/this]
JavaScript:
$(document).ready(function() {
// Using just replace
$("body").text().replace(/[this]/g,'<b>')
});
--EDIT--
ich ein paar Änderungen an der Funktion vorgenommen haben unter Nir der Demo verwenden. Heres ein paar mehr Details über das, was ich mache. Ich versuche einen Inline-Bruch zu machen, bei dem ich schon die passenden Klassen habe und was nicht gemacht wurde. Es funktioniert gut in HTML, aber wenn ich die jQuery-Funktion ausführen, scheint es nicht zu funktionieren.
Es ist offensichtlich, dass die Tags ersetzt werden, aber mein CSS scheint wirklich nicht zu arbeiten, wie ich erwähnte.
Heres ein Link zu dem HTML HERE
und heren einem Link zum jsfiddle HERE
$(document).ready(function() {
// Using just replace
var text = $('body').text();
$("body").html(text.replace(/\[math\]/g,'<span class="container">').replace(/\[\/math\]/g,'</span>'));
var textt = $('body').text();
$("body").html(textt.replace(/\[top\]/g,'<div class="containme">').replace(/\[\/top\]/g,'</div>'));
var textl = $('body').text();
$("body").html(textl.replace(/\[line\]/g,'<div class="borderme"> </div>'));
var textb = $('body').text();
$("body").html(textb.replace(/\[bot\]/g,'<div class="containme2">').replace(/\[\/bot\]/g,'</div>'));
});
Dieses HTML-
<span class="readme">Whats up, here's a fraction.
<span class="container">
<div class="containme">1</div>
<div class="borderme"> </div>
<div class="containme2">2</div>
</span>
Hello? Whats up, here's a fraction.
<span class="container">
<div class="containme">1</div>
<div class="borderme"> </div>
<div class="containme2">2</div>
</span>
Hello? Whats up, here's a fraction.
</span>
diesen gekürzten Markup
<span class="readme"> Whats up, here's a fraction. [math][top]1[/top][line][bot]2[/bot][/math] </span>
Wie funktioniert die Zeichenfolge Sie suchen einen Einfluss auf die erwartete Ausgabe? Und Sie fügen nur ein öffnendes Tag ein? Was ist mit dem schließenden Tag für das eingefügte Element? –
(a) Sie haben Ihre Fiddle nicht für die Verwendung von jQuery (b) eingerichtet. '.replace' gibt eine neue Zeichenfolge zurück: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace –