我正在尝试编写一个jQuery的replacewith函数,用于将特定单词替换为html。基本上,我想在文档加载时将类似于
HTML/文本:
[this]
的内容替换为<span class='myclass'>
。我查看了一些示例,但是我无法使其中的一些东西工作。我仍在学习jQuery,希望有人能给我一些建议。谢谢您提前的帮助,Steven。HTML/文本:
[this]hello world![/this]
JavaScript:
$(document).ready(function() {
// Using just replace
$("body").text().replace(/[this]/g,'<b>')
});
--编辑--
我使用Nir的演示对函数进行了一些更改。
以下是关于我的操作的更多详细信息。我正在尝试制作一个内联分数,我已经有适当的类和其他必要的元素。它在html中运行良好,但是当我运行jQuery函数时,它似乎无法正常工作。
很明显标签被替换了,但是我的css似乎并没有像我之前提到的那样起作用。
这里是HTML的链接 HERE
这里是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>'));
});
这是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>
转换为这种简短的标记
<span class="readme"> Whats up, here's a fraction. [math][top]1[/top][line][bot]2[/bot][/math] </span>
.replace
返回一个新字符串:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replace - Felix Kling