Creating complex elements (v9)

Revision 9 of this benchmark created on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Setup

clone = $("<div>").append($("<table>").append('tr').append('td'))

Test runner

Ready to run.

Testing in
TestOps/sec
Create elements by hand and append one after the other
var mdiv = document.createElement('div');
var mtab = document.createElement('table');
var mtr = document.createElement('tr');
var mtd = document.createElement('td');

mtr.appendChild( mtd );
mtab.appendChild( mtr );
mdiv.appendChild( mtab );


document.getElementsByTagName('body')[0].appendChild(mdiv);
 
ready
Create elements by hand but still using jQuery
function create() {
  return $("<div>").append($("<table>").append('tr').append('td'));
}
$("body").append(create());
ready
Using innerHTML
var elements = "<div><table><tr><td>1</td><td>2</td></tr></table></div>";
var div = document.createElement('div')
div.id = 'mycustomdiv'
document.getElementsByTagName('body')[0].appendChild(div);
div.innerHTML = elements;
ready
Cloning
document.body.appendChild(clone[0].cloneNode())
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.