jQuery .find() vs. context selector

JavaScript performance comparison

Revision 56 of this test case created by Dongsu Jang

Info

comparing selector speed

Preparation code

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

<article>
<p>A test</p>
<p><iframe id="test" class="test"></iframe></p>
<p>This is text</p>
</article>
 
<script>
Benchmark.prototype.setup = function() {
    var article = document.querySelector('article');
};
</script>

Preparation code output

A test

This is 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
find method
var hasFrame = $(article).find('iframe').length > 0 ? true : false;
pending…
context method
var hasFrame = $('iframe', article).length > 0 ? true : false;
pending…
pure DOM api - getElementsByTagName
var hasFrame = article.getElementsByTagName('iframe').length > 0 ? true: false;
pending…
id pick
var hasFrame = document.getElementById('test') ? true: false;
pending…
id pick2
var hasFrame = $('#test').length > 0 ? true: false;
pending…
QuerySelectorAll
var hasFrame = article.querySelectorAll('iframe').length > 0 ? true: false;
pending…
QuerySelectorAll w/ id
var hasFrame = article.querySelectorAll('#test').length > 0 ? true: false;
pending…
pure DOM api - getElementsByClassName
var hasFrame = article.getElementsByClassName('.test').length > 0 ? true: false;
pending…
QuerySelectorAll w/ class
var hasFrame = article.querySelectorAll('.test').length > 0 ? true: false;
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:

2 comments

rhio kim commented :

하나만 찾는 거라면 querySelector 테스트 케이스도 궁금해요 :-)

var hasFrame = article.querySelector('iframe').length > 0 ? true: false; ready QuerySelectorAll w/ id var hasFrame = article.querySelector('#test').length > 0 ? true: false;

rhio kim commented :

많은 엘리먼트가 있는게 아니라 querySelectorAll 과 별반 차이없을 것 같기는 해요. ^_^

Add a comment