jQuery Parent() vs Closest() (v3)

Revision 3 of this benchmark created on


Preparation HTML

<ul id="filtration">
                                    <li class="first">Urval</li>
                                    <li>
                                        <div class="selectContainer filtration">
                                                        <select id="filterType" class="filtration" multiple="multiple" size="1" autocomplete="off" style="visibility: hidden; ">
                                                                <option value="">Typ</option>
                                                                <option value="Klänningar">Klänningar</option>
                                                                <option value="Byxor" selected="selected">Byxor</option>
                                                                <option value="Toppar">Toppar</option>
                                                        </select>
                                                <a class="dropdown ischanged"><span class="toggle"></span><span>Byxor</span></a><ul class="DD_values bullets" style="display: none; "><li><a href="#" data-val="Klänningar"><span>Klänningar</span></a></li><li><a href="#" data-val="Byxor" class="selected"><span>Byxor</span></a></li><li><a href="#" data-val="Toppar"><span>Toppar</span></a></li></ul></div>
                                    </li>
                                    <li>
                                        <div class="selectContainer filtration">
                                                        <select id="filterColor" class="filtration" multiple="multiple" autocomplete="off" style="visibility: hidden; ">
                                                                <option value="">Färg</option>
                                                                <option value="red">Röd</option>
                                                                <option value="green">Grön</option>
                                                                <option value="blue">Blå</option>
                                                        </select>
                                                <a class="dropdown"><span class="toggle"></span><span>Färg</span></a><ul class="DD_values bullets" style="display: none; "><li><a href="#" data-val="red"><span>Röd</span></a></li><li><a href="#" data-val="green"><span>Grön</span></a></li><li><a href="#" data-val="blue"><span>Blå</span></a></li></ul></div>
                                    </li>
                                    <li>
                                        <div class="selectContainer filtration">
                                                        <select id="filterSize" class="filtration" autocomplete="off" style="visibility: hidden; ">
                                                                <option value="">Storlek</option>
                                                                <option value="XS">XS</option>
                                                                <option value="S">S</option>
                                                                <option value="M">M</option>
                                                                <option value="L">L</option>
                                                                <option value="XL">XL</option>
                                                        </select>
                                                <a class="dropdown"><span class="toggle"></span><span>Storlek</span></a><ul class="DD_values bullets" style="display: none; "><li><a href="#" data-val="XS"><span>XS</span></a></li><li><a href="#" data-val="S"><span>S</span></a></li><li><a href="#" data-val="M"><span>M</span></a></li><li><a href="#" data-val="L"><span>L</span></a></li><li><a href="#" data-val="XL"><span>XL</span></a></li></ul></div>
                                    </li>
                                    <li class="sort">Sortering</li>
                                    <li>
                                        <div class="selectContainer filtration">
                                                        <select id="sortBy" class="filtration" autocomplete="off" style="visibility: hidden; ">
                                                                <option value="senast" selected="selected">Senast inkommet</option>
                                                                <option value="stigande">Stigande pris</option>
                                                                <option value="fallande">Fallande pris</option>
                                                        </select>
                                                <a class="dropdown ischanged"><span class="toggle"></span><span>Senast inkommet</span></a><ul class="DD_values bullets" style="display: none; "><li><a href="#" data-val="senast" class="selected"><span>Senast inkommet</span></a></li><li><a href="#" data-val="stigande"><span>Stigande pris</span></a></li><li><a href="#" data-val="fallande"><span>Fallande pris</span></a></li></ul></div>
                                    </li>
                                        <li class="last"><a href="" class="clear_filt"><span>Visa</span></a>(50)</li>
                                </ul>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
  var denna = $("#filterType"),
  idn;
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Parents(li)
console.log(denna.parents('li').siblings().find('select'));
ready
Closest
console.log(denna.closest('li').siblings().find('select'));
ready
Parent(li)
idn = denna.attr("id");
console.log($('select.filtration').not('#'+idn));
ready

Revisions

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