JSFiddle - React, Tailwind, and code Playground

HTML

<div id="original">
    <div class="square animate"></div>
</div>
<h2>Duplicate with this buttons</h2>
<button class="duplicate timeout">with setTimeout</button>
<button class="duplicate notimeout">without setTimeout</button>
<button class="duplicate reflow">triggering reflow</button>

CSS

.animate{
    -webkit-transition: all 1s ease-in;
}
.square{
    width:50px;
    height:50px;
    background:red;
    position:relative;
    left:5px;
}

JavaScript

$(".duplicate").live("click", function(e) {
    var $to = $("#original .square").clone()
    $("body").append($to);
    if ($(e.target).hasClass("timeout"))
    //With setTimeout it work
    setTimeout(function() {
        $to.css("left", 200 + "px");
    }, 0);
    else if ($(e.target).hasClass("notimeout"))
    // These way it doesn't work
    $to.css("left", 200 + "px");
    else if ($(e.target).hasClass("reflow")){
        // These way it work
        $to.css('left');
        $to.css("left", 200 + "px");
    }
});