如何使用jquery替换文本

时间:2014-02-24 15:35:56

标签: jquery

我无法更换文字“我希望给予额外的贡献:”

这是HTML:

<tr id="PC1930_Wizard1_trAdditionalDonation">
<td style="text-align:left;" colspan="2" class="BBFieldCaption">
I wish to give an additional contribution of:&nbsp;
<span id="PC1930_Wizard1_lblCurrency">$</span>
<input type="text" style="width:75px;" class="BBFormTextbox"       id="PC1930_Wizard1_txtAdditionalDonation" name="PC1930$Wizard1$txtAdditionalDonation">
</td>
</tr>

以下是我的尝试:

$('.BBFieldCaption:contains("I wish")').text('new text');

以下是JSFiddle与完整HTML的链接:

http://jsfiddle.net/jelane20/LnrJU/

3 个答案:

答案 0 :(得分:0)

您需要在页面上包含jQuery。你的JSFiddle演示没有包含jQuery: working JSFiddle demo

您可能还想考虑将jQuery代码包装在文档ready()函数中:

$(document).ready(function() {
    $('.BBFieldCaption:contains("I wish")').text('new text');
});

然而,由于只有一个元素具有“BBFieldCaption”类,您可以使用:

$('.BBFieldCaption').text('new text');

答案 1 :(得分:0)

包含jquery库并将代码包装在Document ready()

<强> Demo

答案 2 :(得分:0)

你忘了包含jQuery以使其有效。

<强> Updated Fiddle

但实际上,您的代码也会移除spaninput元素。

其他更好的解决方案是仅使用contents()filter()您要更改的文字:

$(".BBFieldCaption").contents().filter(function(){ 
    return this.nodeType == 3; 
}).first().replaceWith("new text");

<强> Fiddle Demo