如何使用其数据克隆jQuery元素

Ion*_*zău 0 html javascript jquery

我们如何用它们克隆jQuery元素数据?

使用.data("dummy", "test")我将"test"数据设置"dummy"为所选元素的键.使用.data("dummy")它返回"test".克隆后.data("dummy")返回undefined.

我怎么能避免这个?

$(".save").on("click", function () {
    var dummy = $(this).data("dummy");
    if (dummy) {
        return alert(dummy);
    }

    $(this).data("dummy", "I am a button");
    var $clone = $(this).clone();
    $(this).after($clone);
});
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

Arc*_*her 5

你刚刚缺少1个参数......

http://jsfiddle.net/DEKFn/2/

注意使用trueclone().根据文档,这决定了在克隆元素时是否复制数据和事件.

http://api.jquery.com/clone/

$(".save").on("click", function () {
    var dummy = $(this).data("dummy");
    if (dummy) {
        return alert(dummy);
    }

    $(this).data("dummy", "I am a button");
    var $clone = $(this).clone(true);
    $(this).after($clone);
});
Run Code Online (Sandbox Code Playgroud)

您还询问了如何仅复制数据 - 而不是事件.这是不可能的,但您可以删除所有这样的事件处理程序...

    var $clone = $(this).clone(true);
    var $clone.off();
Run Code Online (Sandbox Code Playgroud)