如何更改jQuery中的button的文本?

你如何改变jQuerybutton的文本值? 目前,我的button有“添加”作为其文本的价值,被点击后,我希望它更改为“保存”。 我已经尝试了下面的这个方法,但到目前为止没有成功:

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

取决于你正在使用的buttontypes

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

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

编辑 :这些将工作,假设你已经包在一个.click()调用,当然

编辑2 :较新的jQuery版本(> 1.6)使用.prop而不是.attr

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

在jQuery中使用.Button()创build的button……..

虽然其他答案会改变文本,他们会弄乱button的样式,事实certificate,当一个jQuerybutton被呈现时,button的文本嵌套在一个范围内,例如

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

如果您删除了跨度并将其replace为文本(如其他示例中所示),则会丢失跨度和关联的格式。

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

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

或者(如果像我这样做是在点击事件)

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

如果使用JQuery“button化”,更改button文本的正确方法是使用.button()方法:

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

使用.val()

这是JSfiddle的链接

要改变一个button的文本,只需执行下面一行jQuery for

<input type='button' value='XYZ' id='btnAddProfile'>

使用

 $("#btnAddProfile").val('Save'); 

而为

<button id='btnAddProfile'>XYZ</button>

用这个

$("#btnAddProfile").html('Save');

你需要做.button("refresh")

HTML

 <button id='btnviewdetails' type='button'>SET</button> 

JS

 $('#btnviewdetails').text('Save').button("refresh"); 

如果你有button的button,这似乎工作:

 <button id="button">First caption</button> $('#button').button();//make it nice var text="new caption"; $('#button').children().first().html(text); 
 $("#btnAddProfile").click(function(){ $("#btnAddProfile").attr('value', 'Save'); }); 
 document.getElementById('btnAddProfile').value='Save'; 

$("#btnAddProfile").text("Save");

你可以使用这样的东西:

 $('#your-button').text('New Value'); 

你也可以添加这样的额外属性:

 $(this).text('New Value').attr('disabled', true).addClass('bt-hud').unbind('click'); 

您可以使用

 $("#btnAddProfile").text('Save'); 

虽然

 $("#btnAddProfile").html('Save'); 

也可以工作,但这是误导性的(给人的印象是你可以写一些类似的东西

 $("#btnAddProfile").html('Save <b>now</b>'); 

但是当然你不能

这对我有用html:

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

JS

 $("#btnSaveSchedule").text("new value"); 

你给你的button一个类,而不是一个ID? 尝试下面的代码

 $(".btnSave").attr('value', 'Save'); 

这应该做的伎俩:

 $("#btnAddProfile").prop('value', 'Save'); $("#btnAddProfile").button('refresh'); 
 $("#btnAddProfile").html('Save').button('refresh'); 

这是完全正确的,这对我有用;

  $('#btnAddProfile').bind('click',function(){ $(this).attr('value','save'); }) 

你确定JQuery是可用的,你的代码是在正确的地方吗?

 $("#btnviewdetails").click(function(){ if($(this).val()!="hide details"){ $("#detailedoutput").show(); $(this).val('hide details'); }else{ $("#detailedoutput").hide(); $(this).val('view more details'); } }); 
  $( "#btnAddProfile" ).on( "click",function(event){ $( event.target ).html( "Save" ); }); 
 <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function(){ $(":button").click(function(){ $("p").toggle(); if (this.value=="Add") this.value = "Save"; else this.value = "Add"; }); }); </script> </head> <body> <input type='button' value='Add' id='btnAddProfile'> <p>This is a paragraph with little content.</p> <p>This is another small paragraph.</p> </body> </html>