jQuery has vs * (v3)

Revision 3 of this benchmark created by Kevin on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<ul>
    <li><a href="#">Link 1</a>
        <ul>
            <li><a href="">Sub link</a>
                <ul>
                    <li><a href="#">Link 1</a>
                        <ul>
                            <li><a href="">Sub link</a></li>
                        </ul>
                    </li>
                    <li><a href="">Link 2</a>
                        <ul>
                            <li><a href="">Sub link</a></li>
                        </ul>
                    </li>
                    <li><a href="">Link 3</a></li>
                </ul>
            </li>
        </ul>
    </li>
    <li><a href="">Link 2</a>
        <ul>
            <li><a href="">Sub link</a></li>
        </ul>
    </li>
    <li><a href="">Link 3</a></li>
</ul>

Test runner

Ready to run.

Testing in
TestOps/sec
:has()
$('li:has(ul)').addClass('test-class');
ready
*
$('li > *').parent().addClass('test-class')
ready
has(*)
$('li').has('*').addClass('test-class');
ready
:has(*)
$('li:has(*)').addClass('test-class');
ready
.has()
$('li').has('ul').addClass('test-class');
ready

Revisions

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