使用下面的代码,我试图匹配网页中的文本以摆脱页面中的html标记。
var body = $(body);
var str = "Search me in a Web page";
body.find('*').filter(function()
{
$(this).text().indexOf(str) > -1;
}).addClass('FoundIn');
$('.FoundIn').text() = $('.FoundIn').text().replace(str,"<span class='redT'>"+str+"</span>");
但它似乎不起作用..请看看这个,让我知道问题出在哪里......
here是小提琴
我尝试了以下代码..
function searchText()
{
var rep = body.text();
alert(rep);
var temp = "<font style='color:blue; background-color:yellow;'>";
temp = temp + str;
temp = temp + "</font>";
var rep1 = rep.replace(str,temp);
body.html(rep1);
}
但这完全是从身体中移除html标签......
答案 0 :(得分:1)
将代码的最后一行更改为低于一... 您正在使用赋值运算符,该运算符使用不使用jquery对象的变量。因此,您需要将替换的html传递给text方法。
$('.FoundIn').text($('.FoundIn').text().replace(str,"<span class='redT'>"+str+"</span>"))
答案 1 :(得分:1)
try this.
$('*:contains("Search me in a Web page")').text("<span class='redT'>Search me in a Web page</span>");