嗨,我有一个简单的html结构
<h1>Title text <span>inner text</span></h1>我想要的是只替换文本(标题文本)而不干扰<span>文本。这个是可能的吗?
我不想添加任何其他dom元素,我想保留这个结构。当然,我一直在这么做。
$("h1").text("new text");但是你可以猜到。将替换所有内部文本和span文本元素。
可能的解决方案:我想在一个变量中复制跨度的文本,然后将它与新的<h1>文本连接起来,但我认为可能存在一种更好、更简洁的方法。
发布于 2013-03-26 03:39:24
使用,您可以替换如下所示的nodeValue:
$("h1").contents()[0].nodeValue = "new text ";使用jQuery.contents()替换文本节点的
发布于 2013-03-26 03:38:13
$("h1").each(function() {
var textNode = document.createTextNode("new text");
this.replaceChild(textNode, this.firstChild);
});演示: http://jsfiddle.net/FvbJa/
发布于 2013-03-26 04:22:19
另一个简短的jQuery解决方案:
$("h1").contents().first().replaceWith("new text");演示: http://jsfiddle.net/FvbJa/1/
https://stackoverflow.com/questions/15623180
复制相似问题