使用jQuery在跨度之间更改文本

时间:2013-04-22 15:39:07

标签: jquery html

我有这个HTML块:

<div class='translate' id='community_participation'>
Supported by
<span class='notranslate'>
52
</span>
customers like
you, as well as
<a href="/gsfnmichelle/people">the <span class='notranslate'>GSFNMICHELLE</span> team</a>.
</div>

我知道我可以用$('#community_participation.translate').html('Something here.');

改变整个事情

但我不知道如何更改跨度之间的文本,即“支持者”,“像你这样的客户,以及”,“团队”和“团队”。

5 个答案:

答案 0 :(得分:1)

我建议您使用jQuery contents()获取文本节点,并在新元素中使用wrap以便于管理:

var el = $('.translate').contents().filter(function() {
             return this.nodeType == Node.TEXT_NODE;
         }).eq(0).wrap('<span class="newDiv"></span>');

然后,您可以使用text()更改文字:

$('span.newDiv').text('New Text');

<强> FIDDLE

答案 1 :(得分:1)

要更改文本“支持者”,例如,您将查看标记中的第一个textNode(使用索引0)

$(function() {
    $('#community_participation').contents().filter(function() {
        return this.nodeType == 3;
    })[0].textContent = "Support comes from";
});

输出:
支持来自像您一样的52人以及GSFNMICHELLE团队。

答案 2 :(得分:1)

这个怎么样?

num_customers = jQuery('#community_participation').text().split('\n')[3];

jQuery('#community_participation').html('Supported by ' + num_customers + ' community members, as well as <a href=/teded/people>the GSFNMICHELLE team</a>');

乌拉!

答案 3 :(得分:0)

您可以使用

$('.notranslate').html('your text');

答案 4 :(得分:0)

如果您无法在跨度中包装要更改的部分,那么您可能只需使用替换。 例如:

$('a.question-hyperlink').html($('a.question-hyperlink').html().replace('Changing','Something else'))