如何更改元素的文本而不更改其子元素?
我想动态更新元素的文本:
<div> **text to change**
<someChild>
text that should not change
</someChild>
<someChild>
text that should not change
</someChild>
</div>
我是jQuery的新手,因此对我来说,这项任务似乎非常具有挑战性。有人可以指出我要使用的功能/选择器吗?
如果可能的话,我想在不为需要更改的文本添加新容器的情况下执行此操作。
回答:
在Javascript中,该childNodes
属性为您提供元素的所有子节点,包括文本节点。
因此,如果您知道要更改的文本始终是元素中的第一件事,那么请给出以下HTML:
<div id="your_div"> **text to change**
<p>
text that should not change
</p>
<p>
text that should not change
</p>
</div>
您可以这样做:
var your_div = document.getElementById('your_div');var text_to_change = your_div.childNodes[0];
text_to_change.nodeValue = 'new text';
当然,你仍然可以使用jQuery选择<div>
摆在首位(即var your_div = $('your_div').get(0);
)。
以上是 如何更改元素的文本而不更改其子元素? 的全部内容, 来源链接: utcz.com/qa/409039.html