我通常对 javascript 中的元素使用自定义变量。像这样的东西:
document.getElementById("test").myVar=function(){
// do something
};
现在我需要复制一个元素 (document.getElementById("test")
) 并将其附加到某处。我尝试将 clone()
与 jquery 一起使用。像这样的东西:
$("#test").clone(true,true).attr("id","test2").appendTo("#somewhere");
但它无法在新元素中复制 myVar 。我该如何修复它?
最佳答案
为什么,为什么要给元素分配任意属性?
既然你使用 jQuery 为什么不使用 .data()
方法 ? (虽然我仍然不明白为什么你会在元素上存储函数..)
$('#test').data('myVar', function(){...});
<小时/>
另一种滥用可能是绑定(bind)自定义事件处理程序( namespaced to avoid further issues ),但我会坚持使用 .data()
$('#test').bind('myVar.variables', function(){...});
关于javascript 复制带有事件和自定义变量的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13311656/