用其他文本交换h3标题文本

时间:2014-03-24 12:46:56

标签: jquery

我有一个标题,其中包含其他一些元素。 E.g:

<h3 id="header" >
<span ...></span>
TITLE
<img ...>
</h3>

我想用其他文字替换"TITLE"。那是我尝试过的:

$("#header").contents().filter(function(){return this.nodeType == 3;}).text("some other text");

但这里没有任何事情......

3 个答案:

答案 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');