我有这个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.');
但我不知道如何更改跨度之间的文本,即“支持者”,“像你这样的客户,以及”,“团队”和“团队”。
答案 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'))