JSFiddle - React, Tailwind, and code Playground
HTML
<p>Without DOM updates</p>
<textarea id="ta1">
</textarea>
<input type="button" data-for="#ta1" value="clone" />
<br />
<select id="sel1">
<option value="a">first</option>
<option value="b" selected="selected">second</option>
<option value="c">third</option>
</select>
<input type="button" data-for="#sel1" value="clone" />
<br />
<p>With DOM updates</p>
<textarea id="ta2">
</textarea>
<input type="button" data-for="#ta2" value="clone" />
<br />
<select id="sel2">
<option value="a">first</option>
<option value="b" selected="selected">second</option>
<option value="c">third</option>
</select>
<input type="button" data-for="#sel2" value="clone" />
<br />
JavaScript
$(function(){
$("input[type='button']").click(function(){
var target = $(this).attr("data-for"),
value = $(target)[0].cloneNode(true).value;
alert("Value of clone is " + value);
});
// textarea
$("#ta2").change(function() { $(this).text($(this).val()); });
// select
$("#sel2").change(function() {
var sel = $(this).children(":selected");
$(this.children).not(sel).removeAttr("selected");
sel.attr("selected", "selected");
});
});