【问题标题】:Find words and replace with tag wihtin div jQuery查找单词并用标签替换 div jQuery
【发布时间】:2016-11-22 18:47:45
【问题描述】:

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

下面是html结构

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

我试过的JS是

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

如果我尝试 .html() 那么它会替换该 div 中我不想要的所有内容。谁能推荐一下

谢谢

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    使用html() 函数代替text()

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

    来自文档

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

    【讨论】:

      【解决方案2】:

      无需使用函数

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

      【讨论】:

        【解决方案3】:

        我会尝试这样的:

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

        所以基本上,你得到了 h3 元素,调用.html() 来获取它的整个 html 内容,使用你已经拥有的replace 并将整个东西分配给一个变量,然后将该变量替换为对 .html() 的另一个调用,以替换 h3 标记内的现有 HTML。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-04-21
          • 2017-01-08
          • 1970-01-01
          • 1970-01-01
          • 2016-08-19
          • 1970-01-01
          • 2021-12-26
          相关资源
          最近更新 更多