我想动态更新元素的文本:
<div> **text to change** <someChild> text that should not change </someChild> <someChild> text that should not change </someChild> </div>
我是jQuery的新手,因此对我来说,这项任务似乎非常具有挑战性。有人可以指出我要使用的功能/选择器吗?
如果可能的话,我想在不为需要更改的文本添加新容器的情况下执行此操作。
在Javascript中,该childNodes属性为您提供元素的所有子节点,包括文本节点。
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);)。
<div>
var your_div = $('your_div').get(0);