如何在不影响子元素的情况下更改div中的文本

Con*_*dky 7 html javascript jquery

我需要使用Javascript修改以下HTML,

<div id="1">
   some text
   <div id="2"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我尝试过使用$('#1').text('new text');但是,这无意中删除了<div id="2">

如何在some text不改变周围元素的情况下改变?

Tru*_*gDQ 12

这将更改第一个节点(在您的示例中为文本节点)的值:

$('#1').contents()[0].nodeValue = 'new text';
Run Code Online (Sandbox Code Playgroud)

的jsfiddle


123*_*567 0

如果可行,请执行以下操作:

<div id="1">
   <span id="edit">some text</span>
   <div id="2"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

然后,您可以像这样编辑文本:

$('#edit').text('new text');
Run Code Online (Sandbox Code Playgroud)

基本上,您可以将要编辑的文本放入其自己的带有 ID 的元素中。请记住,您可以使用您想要的任何类型的元素,不必span专门使用。您可以将其更改为divor p ,您仍然会获得相同的结果。