找到单词并用标签wihtin div jQuery替换

时间:2016-11-22 10:27:33

标签: javascript jquery html

我有一个带有一些文本的div,我试图使用jQuery用html标签替换该文本但是,它替换标签为文本而不是html标签

以下是html结构

import java.io.File;

public class TestEmail {
  public static void main(String[] args) {
      File allegato = new File(CreazioneFile.AggiungiDati());

    EmailSender email = new EmailSender(
                    "myuser",
                    "mypass", 
                    "smtp.gmail.com",                     
                    "sendToAddress", 
                    "Invio automatico email da Java"
                  );

    email.inviaEmail();
    System.out.println(allegato);
    allegato.delete();
  }
}

我试过的JS是

<h3>Rs.1410 / 30 Tablet(s) </h3>

如果我尝试.html(),那么它会替换我不想要的div中的所有内容。任何人都可以建议

感谢

3 个答案:

答案 0 :(得分:4)

使用html()功能代替text()

$("h3").html(function () {
    return $(this).text().replace("Rs.", "<i class='fa fa-inr'></i>"); 
});

来自文档

  

返回要设置的HTML内容的函数。收到索引   集合中元素的位置和旧的HTML值为   参数。 jQuery在调用函数之前清空元素;使用   oldhtml参数引用以前的内容。内   function,this指的是集合中的当前元素。

答案 1 :(得分:0)

无需使用功能

&#13;
&#13;
$("h3").html(
     $("h3").text().replace("Rs.", "<i class='fa fa-inr'></i>")); 
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3>Rs.1410 / 30 Tablet(s) </h3>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我会尝试这样的事情:

var text = $('h3').html().replace("Rs.", "<i class='fa fa-inr'></i>");
$('h3').html(text);

所以基本上,你正在获取h3元素,调用.html()来获取其整个 html内容,使用replace已经拥有并将整个内容分配给一个变量,然后将该变量放入另一个.html()调用中,以替换h3标记内的现有HTML。