getElementById VS jQuery('#id')

JavaScript performance comparison

Revision 53 of this test case created

Preparation code

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js">
</script>

<script>
var D = function( sel ){
        var dict = {
                '#': function( substr ){ document.getElementById( substr ) },
                '.': function( substr ){ document.getElementsByClassName( substr ) }   
        }
        return dict[sel[0]](sel.substring(1));
};

var Dob = (function(){
return {
                id: function( s ){ document.getElementById( s ) },
                class: function( s ){ document.getElementsByClassName( s ) },
    tag: function( s ){ document.getElementsByTagName( s ) }
}
})();

//TOTALLY CRAZY
String.prototype.idofEl = function(){
return document.getElementById( this );
}


</script>

<p id="foo">
  Test
</p>
<p id="bar">
  bars</p>

Preparation code output

Test

bars

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
getElementById
$(document.getElementById('foo'));
pending…
jQuery Selector
$('#foo');
pending…
Custom Method
function _(id){
    return jQuery(document.getElementById(id));
}
_('foo');
 
pending…
$ Custom Method
function _(id){
    return $(document.getElementById(id));
}
_('foo');
 
pending…
jQuery Window Object
$('#foo');
$('#bar');
pending…
realgetelementbyid
document.getElementById('foo');
pending…
typeof
if(typeof (document.getElementById('foo')) === "undefined"){}
pending…
Cust. Object using Dictionary
D('#foo');
pending…
Cust. Object
Dob.id('foo');
pending…
Totally Insane
'foo'.idofEl();
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