如何将一些文本包装到带有类的跨度中

问题描述 投票:-1回答:2

我想为包含特定文本的所有正文添加一个类...

这是我试图使用的代码,但它没有奏效

$("body").html().replace("by care", "<span class='blue'> by care </span>");
jquery text replace element
2个回答
0
投票

在替换了一些内容后,您需要替换实际的主体html:

var replacedHtml = $("body").html().replace("by care", "<span class='blue'> BY CARE </span>");
$('body').html(replacedHtml);

要替换所有实例,请将替换更改为:

var replacedHtml = $("body").html().replace(/by care/g, "<span class='blue'> BY CARE </span>");

g开关代表全球 - 全球取代。


0
投票

你可以使用jquery .each:contains.split()

这是一个工作示例:

LIVE DEMO Snapshot

Here is the link to the live bin.

var toSelect = 'by care';
var selection = $(".container :contains('"+toSelect+"')");

$.each(selection, function(i, s){
    var sp = $(s).text().split('by care');
    $(s).html(sp[0]+"<span class='blue'>"+toSelect+"</span>"+sp[1]);
})
© www.soinside.com 2019 - 2024. All rights reserved.