0

jsスクリプトで奇妙なことが起こっています。

クリック機能を実行すると、ある要素が別の要素の下に挿入されることになっていますが、何らかの理由で、要素のクローンもそこに挿入されます

どうして?クローン作成はクリック機能の外で行われています。

plsは私が何が起こっているのかを理解するのに役立ちます。

http://jsbin.com/unenil/1/edit

$("button").click(function() {
  $(".one").insertAfter(".two");
  $(".status").text("done");
});


var clone_one = $(".one").clone();
var clone_two = $(".two").clone();
$("body").append(clone_one);
$("body").append(clone_two);

基本的に、この場合のクリック機能が、その外部で行われるクローン作成と関係がある理由がわかりません。

4

1 に答える 1

1

複製された要素にはoneクラスがあるので、彼の複製もあります。

したがって$(".one")、クローンとクローンの両方が含まれます。

解決策は、元の要素への参照を保持し、それを挿入することです。

var original = $(".one");
var clone_one = original.clone();
var clone_two = $(".two").clone();
$("body").append(clone_one);
$("body").append(clone_two);

$("button").click(function() {
  original.insertAfter(".two");
  $(".status").text("done");
});
于 2013-02-03T11:45:20.647 に答える