如何在不更改元素的子元素的情况下更改元素的文本?

如何在不更改元素的子元素的情况下更改元素的文本?

我想动态更新元素的文本:

<div>
   **text to change**   <someChild>
       text that should not change   </someChild>
   <someChild>
       text that should not change   </someChild></div>

我对jQuery还不熟悉,所以这个任务对我来说似乎很有挑战性。有人能指点我要使用的函数/选择器吗?

如果可能的话,我不想为我需要更改的文本添加一个新的容器。


qq_遁去的一_1
浏览 888回答 2
2回答

杨魅力

Mark有了一个更好的使用jQuery的解决方案,但是您可能也可以在常规JavaScript中做到这一点。在Javascript中,childNodes属性提供元素的所有子节点,包括文本节点。因此,如果您知道您想要更改的文本总是元素中的第一件事,那么就给出这个HTML:<div&nbsp;id="your_div"> &nbsp;&nbsp;&nbsp;**text&nbsp;to&nbsp;change**&nbsp;&nbsp;&nbsp;<p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text&nbsp;that&nbsp;should&nbsp;not&nbsp;change&nbsp;&nbsp;&nbsp;</p> &nbsp;&nbsp;&nbsp;<p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text&nbsp;that&nbsp;should&nbsp;not&nbsp;change&nbsp;&nbsp;&nbsp;</p></div>你可以这样做:var&nbsp;your_div&nbsp;=&nbsp;document.getElementById('your_div');var&nbsp;text_to_change&nbsp;=&nbsp;your_div.childNodes[0];text_to_change.nodeValue&nbsp;=&nbsp;'new&nbsp;text';当然,您仍然可以使用jQuery来选择<div>首先(即var your_div = $('your_div').get(0);).
打开App,查看更多内容
随时随地看视频慕课网APP