jQuery .closest( 'tag' ) vs custom closestByTagName( 'tag' )
JavaScript performance comparison
Preparation code
<section>
<div><div><div><div><aside id="end" class="end"><div><div><div><div><div><div><div><div>
<article>
<p>
<span id="start" class="start"></span>
</p>
</article>
</div></div></div></div></div></div></div></div></aside></div></div></div></div>
</section>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
Benchmark.prototype.setup = function() {
var startJQ = $( '#start' ),
startDOM = $( '#start' )[0];
Element.prototype.closestByTagName = function ( tagName ) {
return this.tagName && this.tagName.toUpperCase() == tagName.toUpperCase()
? this
: this.parentNode.closestByTagName && this.parentNode.closestByTagName( tagName );
};
};
</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( 'tag' ) |
|
pending… |
custom closestByTagName( 'tag' ) |
|
pending… |
You can edit these tests or add even more tests to this page by appending /edit to the URL.
0 comments