使用jQuery用html替换纯文本

xxs*_*nxo 9 html jquery text replace replacewith

我正在尝试在jQuery中编写一个替换函数,用html替换特定的单词.

基本上我试图取代像[this]<span class='myclass'>作为文件被加载.我环顾四周看了几个样品,但我看到的几件事我无法开始工作.我还在学习jQuery,所以我希望有人可以给我一些建议作为尝试.

先谢谢,史蒂文.

HTML /文字:

[this]hello world![/this]?
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

$(document).ready(function() {    
     // Using just replace
     $("body").text().replace(/[this]/g,'<b>')
});?
Run Code Online (Sandbox Code Playgroud)

- 编辑 -

我使用下面的Nir演示对该功能进行了一些更改.下面是关于我正在做什么的更多细节.我正在尝试制作一个内联部分,我已经拥有了适当的类和所做的.它在html中运行良好,但是当我运行jQuery函数时它似乎不起作用.

很明显标签被替换了,但我的css似乎并没有像我提到的那样工作.

这是HTML HERE的链接

并且这里是jsfiddle的链接

$(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">&nbsp;</div>'));

var textb = $('body').text();
$("body").html(textb.replace(/\[bot\]/g,'<div class="containme2">').replace(/\[\/bot\]/g,'</div>'));
 });?
Run Code Online (Sandbox Code Playgroud)

这个HTML

 <span class="readme">Whats up, here's a fraction.&nbsp;
<span class="container">
    <div class="containme">1</div>
    <div class="borderme">&nbsp;</div>
    <div class="containme2">2</div>
    </span>
 &nbsp;&nbsp;Hello? Whats up, here's a fraction.&nbsp;
    <span class="container">
    <div class="containme">1</div>
    <div class="borderme">&nbsp;</div>
    <div class="containme2">2</div>
  </span>
  &nbsp;&nbsp;Hello? Whats up, here's a fraction.&nbsp;
  </span>
Run Code Online (Sandbox Code Playgroud)

这个短期加价

<span class="readme"> Whats up, here's a fraction. [math][top]1[/top][line][bot]2[/bot][/math] </span>
Run Code Online (Sandbox Code Playgroud)

ade*_*neo 6

javascript replace()返回一个新字符串,它不会改变原始字符串,所以它应该是:

$(document).ready(function() {    
    var content = $("body").text().replace(/\[this\]/g,'<b>')
    $("body").html(content);
});?
Run Code Online (Sandbox Code Playgroud)

请注意,括号必须进行转义,否则它将替换括号内的每个字符<b>.

这是一个FIDDLE