2011-06-01 90 views
0

这是我的字符串。jquery查找并替换

<div id='content'>here is my text {{ and some more }}</div> 

我想</pre>标记替换所有{{与< pre>标记和}}。

所以字符串会像这样输出。

<div id='content'>here is my text <pre> and some more </pre></div> 

我需要使用jquery来做到这一点。我到目前为止。

var textarea=$('#content').text(); 
$(".addesc1").text(textarea).html().replace(/{{/g, "<pre>"); 

什么是最好的功能使用。

回答

2

你可以做一些事情简单,如:

var textarea=$('#content'); 
textarea.html(textarea.html().replace("{{","<pre>")).html(textarea.html().replace("}}","</pre>")); 

如图所示:http://jsfiddle.net/MarkSchultheiss/psSwE/

这就是说“带上我的jQuery对象”textarea“并替换”{{“,然后取出结果集并替换”}}“。

我会建议改变你的变量的名字,但是“var textarea”可能会混淆未来的开发者(让他们暂停思考并不好)。

编辑:请注意,使用jQuery“链接”是关于它的很酷的事情之一。

0

您正在使用正则表达式,这是一种超过杀死在这里。

我建议:

txt.split('{{').join('<pre>'); 

然后,使用jQuery,您可以替换对象的类似内容:

var myobject = $('selector'); 
myobject.html(myobject.html().split('{{').join('<pre>')); 
+0

同意正则表达式,为什么拉如果你不必。 – 2011-06-01 12:57:05

+0

这是对一般良好做法的奖励。只要答案也在帖子中,我没有看到任何问题。 – deadalnix 2011-06-01 13:12:03

2
$(".addesc1").text(
    $('#content').text().replace(/{{/g, "<pre>").replace(/}}/g, "</pre>") 
); 
+0

如果你需要在你的代码中使用'{{''',那么这个功能并不好。 – 2011-06-01 13:02:41