如何查找文本并使用jQuery替换

时间:2010-12-15 22:27:29

标签: javascript jquery replace

我试图找到一个解决方案来搜索DOM中包含的文本字符串“Tony”,并用文本字符串“Tiger”替换它。

任何人都有任何关于如何做到这一点的见解或想法?我猜它会将每个语句与一个替换函数结合起来并且可能包含?

由于 杰克

3 个答案:

答案 0 :(得分:17)

您可以使用它来搜索body元素的所有子元素并替换文本...

$('body').children().each(function(){$(this).text( $(this).text().replace('Tony','Tiger') )});

它使用jQuery。它也应该只改变元素的文本内容而不改变HTML格式......

您也可以使用此方法使用RegExp并获取所有嵌套元素:

 $('body').html( $('body').html().replace(/Tony/gi,'tiger') );

答案 1 :(得分:4)

页面范围内,您可以使用以下内容:

var $body = $('body');
var html = $body.html();
var newHtml = html.replace('Tony', 'Tiger');
$body.html(newHtml);

或者,如果你有一个更具体的容器,使用jQuery来选择那个子容器并做同样的事情。

无论哪种方式,它都是一种霰弹枪方法。它将更改可见文本和html元素属性中的字符串。如果在某些位置需要忽略字符串,则可能需要更详细的方法。

答案 2 :(得分:2)

是否可以将其与服务器端解决方案相结合?你可以用一个特殊的类来包装单词服务器端的每个出现,比如<span class="replaceme">texttoreplace</span>

仅在结果类上运行javascript替换应该可以加快速度。