这不起作用。。它将id更改为触发器,但当我再次单击时,什么也没发生。。
我的html
<a id="love"><i class="favorite love material-icons medium ">favorite</i></a>
$("#love").click(function() {
$("#love").attr("id", "trigger");
});
$("#trigger").unbind("click").click(function() {
$("#trigger").attr("id", "love");
});
希望有人能帮我:3
不知道你想在这里实现什么。您将点击事件绑定到#love
,当点击时,应该会将该元素的id更改为其他内容,只有这样您才会有一个具有该id的元素。
您的代码运行第一个绑定,然后尝试运行第二个绑定,但这不起作用,因为#trigger
还不存在。
做你想做的事情的最好方法是:
function bindLove() {
$("#love").off("click").click(function() {
$("#love").attr("id", "trigger");
bindTrigger();
});
}
function bindTrigger() {
$("#trigger").off("click").click(function() {
$("#trigger").attr("id", "love");
bindLove();
});
}
bindLove();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="love">
Change ID
</button>
但这真的很奇怪。