如何使用jquery用一些html替换div中的特定文本?

时间:2014-06-10 21:57:10

标签: javascript jquery html

基本上我要做的就是制作这个HTML

<div id="_EmailBody">
    <p>Hi *|FirstName|*</p>
    <p>My name is B and I am the Account Executive. 
    *|FirstName|*&nbsp;*|LastName|*</p>
</div>

使用jquery,当页面加载显示时

<div id="_EmailBody">
   <p>Hi <span class="meta-tag">FirstName</span></p>
   <p>
       My name is B and I am the Account Executive.
       <span class="meta-tag">FirstName</span>&nbsp;<span class="meta-tag">LastName</span>
   </p>
</div>

所以用*|

替换每个<span class="meta-tag">

以及每个|*</span>

使用jquery实现此目的的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

这应该这样做:

var emailBody = $('#_EmailBody').html();
emailBody = emailBody.replace(/(\*\|)/g, '<span class="meta-tag">');
emailBody = emailBody.replace(/(\|\*)/g, '</span>');   
jQuery('#_EmailBody').html(emailBody);

使用jQuery内置的“html”方法来获取和设置html。使用正则表达式替换从字符串中获取所需的html。