【发布时间】:2025-11-24 11:25:02
【问题描述】:
我正在尝试在 jQuery 中编写一个 replacewith 函数,它将用 html 替换特定的单词。
基本上,我在加载文档时尝试用<span class='myclass'> 替换[this] 之类的内容。我环顾四周寻找了几个样本,但我看到的几件事我无法开始工作。我还在学习 jQuery,所以我希望有人能给我一些建议。
提前致谢,史蒂文。
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>
【问题讨论】:
-
您要查找的字符串如何影响预期输出?而你只是插入一个开始标签?那个插入元素的结束标签呢?
-
(a) 你没有设置你的小提琴来使用 jQuery (b)
.replace返回一个新字符串:developer.mozilla.org/en/JavaScript/Reference/Global_Objects/…
标签: jquery html text replace replacewith