jQuery .prepend( html ) vs .prepend( element ) vs .insertAdjacentHTML()

JavaScript performance comparison

Test case created by ThinkingStiff

Preparation code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<div id="prepend"><span id="text">text</span></div>
 
<script>
Benchmark.prototype.setup = function() {
    var j = $( '#prepend' ),
        d = j[0],
        html = '<span>before</span>',
        element = $( html ),
        domElement = element.clone()[0],
        span = $( '#text' )[0];
   
};
</script>

Preparation code output

text

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
.prepend( html );
j.prepend( html );
 
pending…
.prepend( element );
j.prepend( element );
 
pending…
.insertAdjacentHTML()
d.insertAdjacentHTML( "afterBegin", html );
 
pending…
.insertBefore()
d.insertBefore( domElement, span );
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment