-2

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

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

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

这是打印出来的:

my text <span>a span element</span>

4

5 回答 5

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>');
于 2013-06-28T15:43:10.623 回答
1

尝试:

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

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

于 2013-06-28T15:43:18.723 回答
1

您必须使用html(value) 函数 进行设置,该函数设置匹配元素集中第一个元素的 HTML 内容。

  $('#content-sections label').html('my text <span>a span element</span>');
于 2013-06-28T15:43:30.200 回答
0

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

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

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

于 2013-06-28T15:51:52.130 回答
0

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

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

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

第一行使用其内容创建跨度

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

于 2013-06-28T15:52:35.423 回答