匹配网页中的字符串以及HTML标记

时间:2011-11-24 06:45:54

标签: javascript jquery

使用下面的代码,我试图匹配网页中的文本以摆脱页面中的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标签......

2 个答案:

答案 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>");