jquery更改按钮ID

use*_*585 1 jquery button

如何在函数运行期间更改按钮的ID?

我试过了:

$('#follow').attr('id','unfollow'); 
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行一个$("#unfollow").click(function(){函数时没有运气.

我怎样才能做到这一点?

更新

$(function() { 

  $("#follow").click(function(){ 
    $('#follow').attr('id','unfollow'); 
    alert("follow");
    });

  $(document).on('click', '#unfollow', function() {
    $('#unfollow').attr('id','follow'); 
    alert("unfollow"); 
    });

});
Run Code Online (Sandbox Code Playgroud)

gil*_*lyb 10

您编写的代码应该可以使用,但是在更改id属性后是否绑定了click事件?

如果没有,则使用on绑定click事件.

$(document).on('click', '#unfollow', function() { ... });
Run Code Online (Sandbox Code Playgroud)

顺便说说:

我不相信更改元素的ID是一个好习惯.ID应该在页面上是唯一的.

为什么不通过更改元素类(使用addClassremoveClass方法)或通过向元素添加数据(通过数据方法)来做到这一点?

更新

尝试这样的事情:

$(document).on('click', '.follow', function() {
    alert('follow');
    $(this).removeClass('follow').addClass('unfollow');
});
$(document).on('click', '.unfollow', function() {
    alert('unfollow');
    $(this).removeClass('unfollow').addClass('follow');
});
Run Code Online (Sandbox Code Playgroud)

**注意我是如何使用使用类'而不是id的选择器的,所以你必须给元素赋予适当的类(对于初始状态,跟随/取消关注)