javascript - 如何只更改 DOM 元素中的文本而不替换任何子元素

标签 javascript jquery html

你好,我有一个简单的 html 结构

<h1>Title text <span>inner text</span></h1>

我想要的是只替换文本(标题文本)而不打扰 <span>文本。这可能吗?

我不想添加任何其他 dom 元素,我想保留该结构。我当然一直在这样做。

$("h1").text("new text");

但你可以猜到...将替换所有内部文本和 span文本元素也是如此。

可能的解决方案: 我想在一个变量中复制跨度的文本,然后将它与新的 <h1> 连接起来。文本,但我认为可能存在更好、更干净的方法。

最佳答案

使用 jQuery.contents()你可以像这样替换 nodeValue:

$("h1").contents()[0].nodeValue = "new text ";

DEMO使用 jQuery.contents() 替换文本节点


关于javascript - 如何只更改 DOM 元素中的文本而不替换任何子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15623180/

相关文章:

javascript - Jquery:当文档准备好时,如何将我的Jquery中的所有数据返回到html?

javascript - 使用 ng-if 根据 ng-repeat 内的文件扩展名类型显示文本(Angular 的新功能)

javascript - 如果选择多个选项,使用 jQuery 显示隐藏的表单元素?

javascript - 如何在我的等级系统中识别 GuildMember?

jquery - 单击时更改图像,带有图像映射

javascript - 当 ul-li 切换时,数据表会发生变化

javascript - 如何检查对象是否仍在窗口中

javascript - 根据条件改变D3散点图上多个点的半径

javascript - 从 run.schedule 获取 Controller 变量

jquery - 为什么我的 jquery td click 事件在 Chrome 上 react 慢?