你好,我有一个简单的 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/