为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_遁去的一_1 2019-07-03 16:42:33
如何在不更改元素的子元素的情况下更改元素的文本?我想动态更新元素的文本:<div>    **text to change**   <someChild>        text that should not change   </someChild>    <someChild>        text that should not change   </someChild></div>我对jQuery还不熟悉,所以这个任务对我来说似乎很有挑战性。有人能指点我要使用的函数/选择器吗?如果可能的话,我不想为我需要更改的文本添加一个新的容器。
查看完整描述

2 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

Mark有了一个更好的使用jQuery的解决方案,但是您可能也可以在常规JavaScript中做到这一点。

在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);).


查看完整回答
反对 回复 2019-07-03
  • 2 回答
  • 0 关注
  • 881 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信