我需要更改包含 html 的元素的内容。
我试过这个,但是打印了html标签
$('#content-sections label').text('my text <span>a span element</span>');
这是打印出来的:
my text <span>a span element</span>
我需要更改包含 html 的元素的内容。
我试过这个,但是打印了html标签
$('#content-sections label').text('my text <span>a span element</span>');
这是打印出来的:
my text <span>a span element</span>
您必须为此使用html()
。例如:
$('#content-sections label').html('my text <span>a span element</span>');
哦,为了获得更好的性能,请改用这个:
$('#content-sections').find('label').html('my text <span>a span element</span>');
尝试:
$('#content-sections label').html('my text <span>a span element</span>');
但我对您的“使用 jquery 包含 html 文本”感到困惑
您必须使用html(value) 函数 进行设置,该函数设置匹配元素集中第一个元素的 HTML 内容。
$('#content-sections label').html('my text <span>a span element</span>');
您必须像下面的代码一样使用
$('#content-sections label').html('my text <span>a span element</span>');
jQuery.html()
将字符串视为 HTML,jQuery.text()
将内容视为文本,这也是其打印span
标签的原因。
Aurelio 的回答解决了你的问题。
但是如果你需要放一个完整的html节点结构,最好用这种方式:
var span = $("<span />").text('a span element');
$('#content-sections label').text('my text').append(span);
第一行使用其内容创建跨度
第二个做了两件事,它首先设置标签的文本,然后在该文本之后添加在第一行中创建的跨度。