【问题标题】:How to insert html text with text() function? [closed]如何使用 text() 函数插入 html 文本? [关闭]
【发布时间】:2013-06-26 10:56:01
【问题描述】:

我需要更改包含 html 的元素的内容。

我试过了,但是打印了html标签

    $('#content-sections label').text('my text <span>a span element</span>');

这是打印出来的:

my text &lt;span&gt;a span element&lt;/span&gt;

【问题讨论】:

  • 因为您告诉 jQuery 将其作为文本插入...想要发布答案但 @Aurelio 更快:)
  • 这不值得反对。他显然是新手,也很难问问题。如果人们认为问题可以改进,请通过编辑来改进,而不是投反对票。他试图达到的目标非常明显。
  • 同意提米德,+1
  • @Jaso2970 也欢迎来到我们的社区,请接受对您最有帮助的答案。其他人请停止添加相同的答案,而只是支持当前的正确答案。三个正确答案MORE就够了。
  • 也投了赞成票,之前没有投反对票。

标签: jquery dom-manipulation


【解决方案1】:

你必须像下面的代码一样使用

$('#content-sections label').html('my text <span>a span element</span>');

jQuery.html() 将字符串视为 HTML,jQuery.text() 将内容视为文本,这也是它打印 span 标记的原因。

【讨论】:

    【解决方案2】:

    Aurelio 的回答解决了你的问题。

    但是如果你需要放一个完整的html节点结构,最好这样使用:

    var span = $("<span />").text('a span element');
    $('#content-sections label').text('my text').append(span);
    

    第一行创建span及其内容

    第二个做了两件事,它首先设置标签的文本,然后在该文本之后添加在第一行中创建的跨度。

    【讨论】:

      【解决方案3】:

      您必须使用html(value) function 设置匹配元素集中第一个元素的 HTML 内容。

        $('#content-sections label').html('my text <span>a span element</span>');
      

      【讨论】:

        【解决方案4】:

        试试:

        $('#content-sections label').html('my text <span>a span element</span>');
        

        但我对你的 “包括使用 jquery 的 html 文本”感到困惑

        【讨论】:

          【解决方案5】:

          您必须为此使用html()。例如:

          $('#content-sections label').html('my text <span>a span element</span>');
          

          哦,为了获得更好的性能,请改用这个:

          $('#content-sections').find('label').html('my text <span>a span element</span>');
          

          【讨论】:

          • 好的,我不知道这个功能。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-25
          • 2013-05-28
          • 1970-01-01
          相关资源
          最近更新 更多