jQuery:更改div';她有两次不工作
我一直在尝试在用户单击div时切换其id。 第一次单击有效,它会更改div的id,但再次按下时不会再次更改div的idjQuery:更改div';她有两次不工作,jquery,html,click,Jquery,Html,Click,我一直在尝试在用户单击div时切换其id。 第一次单击有效,它会更改div的id,但再次按下时不会再次更改div的id $("#hello").click(function(){ $(this).attr("id","bye").text("bye"); }); $("#bye").click(function(){ $(this).attr("id","hello").text("hello"); }); <div id="hello">hello</di
$("#hello").click(function(){
$(this).attr("id","bye").text("bye");
});
$("#bye").click(function(){
$(this).attr("id","hello").text("hello");
});
<div id="hello">hello</div>
$(“#你好”)。单击(函数(){
$(this.attr(“id”,“bye”).text(“bye”);
});
$(“#再见”)。单击(函数(){
$(this.attr(“id”,“hello”).text(“hello”);
});
你好
您知道如何使其工作吗?当文档加载时,处理程序被分配给元素,因此没有处理程序被分配给
bye
,因为没有元素
您可以使用(注意,如果有某个祖先可以应用它,则更好):
示例:
或者只需使用hello
将处理程序分配给元素,并使用相同的处理程序切换ID
示例:
当文档加载时,处理程序被分配给元素,因此没有处理程序被分配给
bye
,因为没有元素
您可以使用(注意,如果有某个祖先可以应用它,则更好):
示例:
或者只需使用hello
将处理程序分配给元素,并使用相同的处理程序切换ID
示例:
它不起作用,因为在DOM中将div的id设置为“bye”之前,已绑定“bye”的单击事件处理程序。您可以使用以下方法绕过此问题:
$("#hello").live('click', function(){
$(this).attr("id","bye").text("bye");
});
$("#bye").live('click', function(){
$(this).attr("id","hello").text("hello");
});
它不起作用,因为在DOM中将div的id设置为“bye”之前,已绑定“bye”的单击事件处理程序。您可以使用以下方法绕过此问题:
$("#hello").live('click', function(){
$(this).attr("id","bye").text("bye");
});
$("#bye").live('click', function(){
$(this).attr("id","hello").text("hello");
});
到目前为止,我更喜欢第二种解决方案。更简单的代码,更少的客户端浏览器工作,并正确链接这两个操作。到目前为止,我更喜欢第二个解决方案。代码更简单,客户端浏览器的工作量更少,并且可以正确链接这两个操作。
$("#hello").live('click', function(){
$(this).attr("id","bye").text("bye");
});
$("#bye").live('click', function(){
$(this).attr("id","hello").text("hello");
});