Run details:
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0
Firefox 48
Windows
Other
8 years ago
Test name Executions per second
1 div with javascript 2476166.5 Ops/sec
1 div with jquery selector 1925444.5 Ops/sec
2 divs with javascript. Add with jquery 345952.5 Ops/sec
2 divs with 2 jquery selectors. Add with jquery 302232.9 Ops/sec
2 divs with javascript. Add with array 1183931.9 Ops/sec
2 divs with 2 jquery selectors. Add with array 516414.1 Ops/sec
2 divs with single jquery selector 781.4 Ops/sec
HTML Preparation code:
x
 
1
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.0.min.js"></script>
2
Script Preparation code:
 
//Add 100,000 elements
var frag = document.createDocumentFragment();
for (var i=0; i<10; i++){
  var outDiv = document.createElement('div');
  for (var j=0; j<100; j++){
    var midDiv = document.createElement('div');
    for (var k=0; k<100; k++){
      var inDiv = document.createElement('div');
      if(i==6 && j==60){
        if(k==60)
          inDiv.id="one";
        else if(k==61)
          inDiv.id="two";
      }
      midDiv.appendChild(inDiv)
    }
    outDiv.appendChild(midDiv)
  }
  frag.appendChild(outDiv);
}
document.body.appendChild(frag);
Tests:
  • 1 div with javascript

     
    var $obj = $(document.getElementById('one')); if($obj.length!=1) throw Error("Fail")
  • 1 div with jquery selector

     
    var $obj = $('#one'); if($obj.length!=1) throw Error("Fail")
  • 2 divs with javascript. Add with jquery

     
    var $obj = $(document.getElementById('one')).add(document.getElementById('two')); if($obj.length!=2) throw Error("Fail")
  • 2 divs with 2 jquery selectors. Add with jquery

     
    var $obj = $('#one').add('#two'); if($obj.length!=2) throw Error("Fail")
  • 2 divs with javascript. Add with array

     
    var $obj = $([document.getElementById('one'),document.getElementById('two')]); if($obj.length!=2) throw Error("Fail")
  • 2 divs with 2 jquery selectors. Add with array

     
    var $obj = $([$('#one')[0],$('#two')[0]]); if($obj.length!=2) throw Error("Fail")
  • 2 divs with single jquery selector

     
    var $obj = $('#one, #two'); if($obj.length!=2) throw Error("Fail")
  • 1 div with jquery selector with context

     
    var $obj = $(document.body).find('#one'); if($obj.length!=1) throw Error("Fail")