在div jquery中的内容中找到一些文本

时间:2013-01-09 12:03:40

标签: javascript jquery

  

可能重复:
  jQuery find and replace string

这是我的HTML:

<div class="dt_lft">There is an error</div>

我需要查找div是否包含文本error,并使用类名用success替换该文本。怎么做?

4 个答案:

答案 0 :(得分:8)

您可以使用:contains()选择器:

$("div.dt_lft:contains('error')").text(function(i, text) {
    return text.replace('error', 'success');
});

如果字符串error可能会在文本中出现多次,则需要使用RegEx来处理:

$("div.dt_lft:contains('error')").text(function(i, text) {
    return text.replace(new RegExp('error', 'g'), 'success');
});

答案 1 :(得分:2)

$("div.dt_lft:contains('error')").text(function(i,text){
   return text.replace('error', 'success');
});

http://jsfiddle.net/ztCcB/1/


$("div.dt_lft:contains('error')")会返回包含单词dt_lft的所有div error,您可以阅读有关jQuery contains selector的更多信息。使用jQuery .text(),您可以编写如下函数:

$(object).text(function(index,CurrentContent){
   //somecode here
}

在其他地方,如果您的对象多次包含单词error,则可以执行以下操作:

text.split('error').join('success');

如果您不想使用RegEx。

答案 2 :(得分:0)

试试这个

var m=$(".dt_lft").html();
m=m.replace("error","success");
$(".dt_lft").html(m);

答案 3 :(得分:0)

试试这个,

if($("div.dt_lft:contains('error')")){
  $('.dt_lft').replace('error','success');
}