JSFiddle - React, Tailwind, and code Playground
HTML
<p>
<button type="button" class="bad_button">Use jQuery to create table and show row</button>
<button type="button" class="good_button">Use only javascript to create table and show row</button>
</p>
<div style="position: fixed; top: 100px; right: 0; bottom: 0; left: 0; z-index: 1; overflow: auto !important; font-size: 72px; line-height: 50px;">
<div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div>
<div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div>
<div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div>
<div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div>
<div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div>
<div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div><div>Scroll down a bit</div>
</div>
JavaScript
jQuery( "button.bad_button" )
.on
(
"click",
function add_table_and_show_row()
{
var j_html = jQuery( "<table><tbody><tr><td>Hi</td></tr></tbody></table>" );
//
// Bug : if you've scrolled the page, this show() scrolls the page to top, but only the FIRST time you click it
//
j_html.find( "tr" ).show();
}
);
jQuery( "button.good_button" )
.on
(
"click",
function add_table_and_show_row()
{
td = document.createElement( "td" );
td.innerHTML = "OK";
tr = document.createElement( "tr" );
tr.appendChild( td );
tbody = document.createElement( "tbody" );
tbody.appendChild( tr );
table = document.createElement( "table" );
table.appendChild( tbody );
//
// Works fine, no jump
//
tr.style.display = "table-row";
}
);