10

I wanted to copy DOM element in variable, so I did this:

var before=$("#someid").html();

Then my script does a bunch of stuff in this "someid" DOM and after that is completed I restored DOM like it was before:

$("#someid").html(before);

This works ok but the problem is that I had some events in this DOM and those events can not be copied like this... So is there another way to do this?

domagojk
  • 990
  • 2
  • 10
  • 25

1 Answers1

19

The clone() method can preserve both event handlers and element data. You can write:

var $before = $("#someid").clone(true);

Then later:

$("#someid").replaceWith($before);
Frédéric Hamidi
  • 249,845
  • 40
  • 466
  • 467