如何在jQuery中更改按钮的文本值?目前,我的按钮有“添加”作为其文本值,点击后,我希望它改变为“保存”。我尝试过下面这个方法,但到目前为止还没有成功:

$("#btnAddProfile").attr('value', 'Save');

当前回答

使用JQuery修改按钮文本的正确方法是使用.button()方法:

$( ".selector" ).button( "option", "label", "new text" );

其他回答

这是我的工作 html:

<button type="button" class="btn btn-primary" id="btnSaveSchedule">abc</button>

js

$("#btnSaveSchedule").text("new value");
document.getElementById('btnAddProfile').value='Save';

如果你有按钮,这似乎工作:

<button id="button">First caption</button>

$('#button').button();//make it nice
var text="new caption";
$('#button').children().first().html(text);

对于在jQuery中使用.Button()创建的按钮........

而其他答案将改变文本,他们将混乱的样式的按钮,事实证明,当一个jQuery按钮被渲染的文本是嵌套在一个span例如。

<button id="thebutton">
  <span class="ui-button-text">My Text</span>
</button>

如果您删除了span并将其替换为文本(如其他示例中所示)—您将失去span和相关的格式。

所以你实际上需要改变SPAN标签内的文本,而不是BUTTON!

$("#thebutton span").text("My NEW Text");

或者(如果像我一样是在点击事件中完成的)

$("span", this).text("My NEW Text");

这取决于你使用的按钮类型

<input type='button' value='Add' id='btnAddProfile'>
$("#btnAddProfile").attr('value', 'Save'); //versions older than 1.6

<input type='button' value='Add' id='btnAddProfile'>
$("#btnAddProfile").prop('value', 'Save'); //versions newer than 1.6

<!-- Different button types-->

<button id='btnAddProfile' type='button'>Add</button>
$("#btnAddProfile").html('Save');

你的按钮也可以是一个链接。你需要发布一些HTML来获得更具体的答案。

编辑:当然,假设你用.click()调用包装了它,这些就可以工作了

编辑2:新的jQuery版本(从> 1.6开始)使用。prop而不是。attr

编辑3:如果你使用jQuery UI,你需要使用DaveUK的方法(如下)调整文本属性