jQuery .closest( '#id' ) vs DOM Element.closestById( 'id' )
JavaScript performance comparison
Preparation code
<section>
<div><div><div><div><div id="end"><div><div><div><div><div><div><div><div>
<article>
<p>
<span id="start"></span>
</p>
</article>
</div></div></div></div></div></div></div></div></div></div></div></div></div>
</section>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script>
Benchmark.prototype.setup = function() {
var startJQ = $( '#start' ),
startDOM = $( '#start' )[0];
Element.prototype.closestById = function( id )
{
if( this.parentNode.nodeType == Node.ELEMENT_NODE )
{
return this.getAttribute( 'id' ) == id
? this
: this.parentNode.closestById( id );
};
};
};
</script>
Preparation code output
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
| Test | Ops/sec | |
|---|---|---|
.closest( '#id' ) |
|
pending… |
.closestById( 'id' ) |
|
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:
- Revision 1: published by ThinkingStiff
- Revision 3: published by ThinkingStiff
0 comments