Use of clone method in jQuery?

The jQuery clone() method will copy the data and events associated with the DOM (Document Object Model)elements that are copied, meaning that it copies the matched elements as well as all of their descendant elements , text nodes and attributes . This method returns a jQuery object of the target. Syntax
$(selector).clone(truefalse)
The jQuery clone() method internally tracks all the handlers attached to the node so whenever use a clone() method it creates a deep copy (optional argument) that contains the source element's events. When used in conjunction with one of the insertion methods, .clone() is a convenient way to duplicate elements on a page.
$("button").click(function(){ $("div").clone().appendTo("body"); });
<div>First Div</div> <div>Second Div</div>
run this source code Browser View
First Div
Second Div


source

<!DOCTYPE html> <html lang="en"> <head> <title>jQuery clone() method</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("div").clone().appendTo("body"); }); }); </script> </head> <body> <div>First Div</div> <div>Second Div</div> <button>Clone It</button> </body> </html>
You can clone a jQuery element in numerous ways, but whenever you do so, make sure that when you clone an element, you're properly identifying and managing events, so you don't get erratic results .

Difference between .clone() and .html() in jQuery?

  1. jQuery .clone() returns a jQuery object while jQuery .html() returns a string.

  2. jQuery clone() method copies the matched elements as well as all of their descendant elements and text nodes, while jQuery .html() can be used to get the contents of any element. If the selector expression matches more than one element, only the first match will have its HTML content returned.