HTML Preparation code:
AخA
 
1
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.0.min.js"></script>
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);
var $innerOne = $(document.getElementById('one'));
var $body = $(document.body)
Tests:
  • is() or contains()

     
    var found = $body.is($innerOne) || $.contains($body[0],$innerOne[0]);
  • == or contains()

     
    var body = $body[0]; var found = body==innerOne || $.contains(body,$innerOne[0]);
  • !!closest.length

     
    var found = !!$innerOne.closest($body).length;
  • == and parentNodes

     
    var found = false;
    var container = $body[0];
    var contained = $innerOne[0];
    if(contained===container){
     found=true;
    } else if(container && contained){
      var pointer = contained;
      var parent = pointer.parentNode;
      
      while(parent && pointer!==container){
        if(parent === container){
            found=true;
            break;
        }
        pointer = parent;
        parent = pointer.parentNode;
      }
          
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    is() or contains()
    == or contains()
    !!closest.length
    == and parentNodes

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 7 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Chrome 60 on Windows
View result in a separate tab
Test name Executions per second
is() or contains() 598321.6 Ops/sec
== or contains() 0.0 Ops/sec
!!closest.length 325614.9 Ops/sec
== and parentNodes 2093276.0 Ops/sec