如何使用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