jQuery parent/child selectors (v37)

Revision 37 of this benchmark created by Dmitriy on


Description

The different ways to select (context, pure selector, +find()) DOM elements using jQuery in parent/child scenarios.

Preparation HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<div>
  <ul id="list">
    <li class="test">
      <div class="div-level1">
        <div class="div-level2">
          <div class="div-level3">
            <div class="div-level4">
              <div class="div-level5">
              </div>
            </div>
          </div>
        </div>
      </div>
      <span class="span">
      </span>
      <p class="p">
        <span class="p-span">
        </span>
      </p>
    </li>
    <li>
      <div class="div-level1">
        <div class="div-level2">
          <div class="div-level3">
            <div class="div-level4">
              <div class="div-level5">
              </div>
            </div>
          </div>
        </div>
      </div>
      <span class="span">
      </span>
      <p class="p">
        <span class="p-span">
        </span>
      </p>
    </li>
    <li class="test">
    </li>
    <li class="test">
      <div class="div-level1">
        <div class="div-level2">
          <div class="div-level3">
            <div class="div-level4">
              <div class="div-level5">
              </div>
            </div>
          </div>
        </div>
      </div>
      <span class="span">
      </span>
      <p class="p">
        <span class="p-span">
        </span>
      </p>
    </li>
    <li>
      <div class="div-level1">
        <div class="div-level2">
          <div class="div-level3">
            <div class="div-level4">
              <div class="div-level5">
              </div>
            </div>
          </div>
        </div>
      </div>
      <span class="span">
      </span>
      <p class="p">
        <span class="p-span">
        </span>
      </p>
    </li>
    <li class="test">
      <div class="div-level1">
        <div class="div-level2">
          <div class="div-level3">
            <div class="div-level4">
              <div class="div-level5">
              </div>
            </div>
          </div>
        </div>
      </div>
      <span class="span">
      </span>
      <p class="p">
        <span class="p-span">
        </span>
      </p>
    </li>
    <li>
    </li>
    <li class="test">
      <div class="div-level1">
        <div class="div-level2">
          <div class="div-level3">
            <div class="div-level4">
              <div class="div-level5">
              </div>
            </div>
          </div>
        </div>
      </div>
      <span class="span">
      </span>
      <p class="p">
        <span class="p-span">
        </span>
      </p>
    </li>
    <li>
      <div class="div-level1">
        <div class="div-level2">
          <div class="div-level3">
            <div class="div-level4">
              <div class="div-level5">
              </div>
            </div>
          </div>
        </div>
      </div>
      <span class="span">
      </span>
      <p class="p">
        <span class="p-span">
        </span>
      </p>
    </li>
    <li class="test">
      <div class="div-level1">
        <div class="div-level2">
          <div class="div-level3">
            <div class="div-level4">
              <div class="div-level5">
              </div>
            </div>
          </div>
        </div>
      </div>
      <span class="span">
      </span>
      <p class="p">
        <span class="p-span">
        </span>
      </p>
    </li>
  </ul>
</div>
<div class="test">
</div>
<script>
  var list = document.getElementById('list');
  var $list = $('#list');
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
DOM context
$('.test', document.getElementById('list'));
ready
selector
$('#list .test');
ready
DOM context and find()
$(document.getElementById('list')).find('.test');
ready
created context
$('.test', $('#list'));
ready
selector and find
$('#list').find('.test');
ready
parent/child selector
$('#list > .test');
ready
immediate children
$(document.getElementById('list')).children('.test');
ready
created context and parent/child
$('> .test', $('#list'));
ready
context and parent/child
$('> .test', document.getElementById('list'));
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.