1

http://jsfiddle.net/2EvGF/

JS

$('.msgln').each(function() {
    var text = $(this).text();
    $(this).text(text.replace('Admin', 'sys-admin')); 
});

HTML

<div class='msgln'><b>Admin</b>:<i> Chat cleared</i><br></div>

替换类“.msgln”会删除格式(粗体、斜体等)。我该如何解决这个问题?

4

3 回答 3

0

我同意sincebasic的解决方案。这是我的版本,几乎没有更新,因为您可以在 HTML 的其他部分显示带有“msgln”类的标签。下面的呢?

HTML

<div class='msgln'><b><span class="username">Admin</span></b>:<i> Chat cleared</i><br></div>

JS

$('.msgln span.username').each(function() {
    var text = $(this).text();
    $(this).text(text.replace('Admin', 'sys-admin')); 
});
于 2013-09-20T03:33:56.533 回答
0

可能会发生这种情况,因为bold, italcs etc可能为 class 定义了 css 规则msgln,因此一旦删除了该类,相关的 css 规则也将被删除。

一种解决方案是添加另一个定义相同 css 规则的类

于 2013-09-20T03:10:34.720 回答
0

正如这里所说,http://api.jquery.com/text/#text2,它将整个内部 html 替换为给定的文本。

您需要深入到具有要替换的文本的元素。在你的情况下,这将是.msgln b

$('.msgln b').each(function() {
    var text = $(this).text();
    $(this).text(text.replace('Admin', 'sys-admin')); 
});
于 2013-09-20T03:20:00.717 回答