我有一个标题,其中包含其他一些元素。 E.g:
<h3 id="header" >
<span ...></span>
TITLE
<img ...>
</h3>
我想用其他文字替换"TITLE"
。那是我尝试过的:
$("#header").contents().filter(function(){return this.nodeType == 3;}).text("some other text");
但这里没有任何事情......
答案 0 :(得分:2)
你可以这样做:
$('#header').contents().filter(function () {
return this.nodeType === 3 && $.trim(this.nodeValue).length;
}).replaceWith('some other text');
<强> Fiddle Demo 强>
答案 1 :(得分:1)
您可以在文本周围包装一个类,然后使用
替换 $("#header .title-class").replaceWith( "New heading" );
答案 2 :(得分:0)
我不知道,为什么上层解决方案在JSFiddle中工作,但不适用于我的代码。但是,我找到了另一个适合我的解决方案:
$("#header").contents().filter(function(){return this.nodeType == 3;}).remove();
$("header").append('some other text');