Javascript 动态创建的按钮文本
我正在动态创建两个按钮 如何更改按钮文本?下面是我试过的,但不起作用Javascript 动态创建的按钮文本,javascript,jquery,Javascript,Jquery,我正在动态创建两个按钮 如何更改按钮文本?下面是我试过的,但不起作用 $(document).on('click', '.class', function(e){ var thisbut = this.id; $.post('my.php',{ val: val1 }, function(done){ document.getElementById(thisbut).innnerHTML = "Button Text New"; }); }); inn
$(document).on('click', '.class', function(e){
var thisbut = this.id;
$.post('my.php',{ val: val1 }, function(done){
document.getElementById(thisbut).innnerHTML = "Button Text New";
});
});
innerHTML
应该是innerHTML
,只有当所有按钮都具有唯一ID时,您的代码才会工作
相反,您可以直接使用该元素-无需按ID重新选择它:
this.innerHTML = "Button Text New";
或jQuery:
$(this).text("Button Text New");
在经过编辑的问题之后: 您可以将按钮分配给如下所示的变量,然后在成功处理程序中使用它。在成功处理程序中简单地使用
this
将不起作用,因为this
上下文已更改,因此通过将按钮存储在变量中,您可以保留它以供进一步使用:
$(document).on('click', '.class', function(e){
var thisbut = this;
$.post('my.php',{ val: val1 }, function(done){
thisbut.innnerHTML = "Button Text New";
// or jQuery:
$(thisbut).text("Button Text New");
});
});
innerHTML
应该是innerHTML
,只有当所有按钮都具有唯一ID时,您的代码才会工作
相反,您可以直接使用该元素-无需按ID重新选择它:
this.innerHTML = "Button Text New";
或jQuery:
$(this).text("Button Text New");
在经过编辑的问题之后: 您可以将按钮分配给如下所示的变量,然后在成功处理程序中使用它。在成功处理程序中简单地使用
this
将不起作用,因为this
上下文已更改,因此通过将按钮存储在变量中,您可以保留它以供进一步使用:
$(document).on('click', '.class', function(e){
var thisbut = this;
$.post('my.php',{ val: val1 }, function(done){
thisbut.innnerHTML = "Button Text New";
// or jQuery:
$(thisbut).text("Button Text New");
});
});
尝试使用$(this)获取元素的id
$(document).on('click', '.class', function(e){
var thisbut = $(this).attr("id");
document.getElementById(thisbut).innerHTML = "Button Text New";
});
尝试使用$(this)获取元素的id
$(document).on('click', '.class', function(e){
var thisbut = $(this).attr("id");
document.getElementById(thisbut).innerHTML = "Button Text New";
});
不是
。innerHTML
应该是。innerHTML
使用innerHTML
而不是innerHTML
。检查innerHTML
typo.。应该是innerHTML
而不是。innerHTML
应该是。innerHTML
使用innerHTML
而不是innerHTML
。检查innerHTML
typo..应该是innerHTML
您的解决方案可能因为$.post()请求而无法工作?请看我的编辑。谢谢。但是按钮文本仅在thisbut.innnerHTML=“按钮文本新建”时更改
位于$.post('my.php',{val:val1},function(done){
之上。但它不会更改成功处理程序中的文本。如果它在成功处理程序中不起作用,则成功处理程序可能没有运行。可能my.php出错。您的解决方案可能因为$.post()而不起作用请求?请查看我的编辑。谢谢。但是按钮文本只有在thisbut.innnerHTML=“button text New”
高于$.post('my.php',{val:val1},函数(完成)时才会更改{
。但它不会更改成功处理程序中的文本。如果它在成功处理程序中不起作用,则成功处理程序可能没有运行。可能是my.php出错。