如何使用改变ID的1个按钮做不同的事情?

时间:2014-10-27 18:02:20

标签: javascript jquery

我有一个按钮,按下按钮除了做某事之外它会更改自己的id,所以当再次按下时它会做一些不同的事情,好像它是一个不同的按钮。问题是,在第一次更改id后,prev按钮单击功能会抛出错误,因为id不再存在。

$("#button1").click(function() {
    //do something
    document.getElementById("#button1").id = "button2";
});

$("#button2").click(function() {
    //do something different
    document.getElementById("#button2").id = "button1";
});

1 个答案:

答案 0 :(得分:1)

您可以通过使用jQuery来实现此目的,但是如评论中所述,这可能是您需要更改方法的标志。但是,如果你必须这样做,这是一个使用jQuery'on'的解决方案。

http://jsfiddle.net/WetNoodles/ab5yn7eL/

$('#outerContainer').on('click', '#button1', function () {
    alert('button 1 clicked!');
    $(this).attr('id', 'button2');
});

$('#outerContainer').on('click', '#button2', function () {
    alert('button 2 clicked!');
    $(this).attr('id', 'button1');
});

一些额外的注意事项 - 如果你采用 smerny的方法,你仍然需要使用'on'函数来将事件绑定到更改的属性,除非你直接在html上设置了onclick属性标签。 Kristian的方法可让您使用当前使用的点击功能。