如何使用jQuery克隆标记

我有以下代码(简化以查看背后的逻辑):

Text $("#alfa").click(function() { alert($(this).attr("id")); });
var clone = $("#alfa").clone().attr("id",$("#alfa").attr("id")+"_1"); $("#alfa").after(clone);

当我点击克隆的文本时,我需要看到“alfa_1”,但没有任何反应。

当我使用clone(true,true)工作时,但我没有在Firebug中看到克隆div的代码,看看到底发生了什么。

此外,我不知道为什么单击原始div警报被触发两次。

谢谢。

当我点击克隆的文本时,我需要看到“alfa_1”,但没有任何反应。

元素进行DOM或innerHTML操作在浏览器中是不一致的,并且在JavaScript执行周期方面没有任何意义。 在所有情况下都要避免它。

如果要将DOM元素与其jQuery事件处理程序一起复制,请使用clone(true)

 
Text

原始div的警报被触发两次,因为脚本是在div内定义的。 将脚本移出div,它应该按预期工作:

 
Text