JSFiddle - React, Tailwind, and code Playground

by John Schulz

HTML

<ul id="menu">
    <li><span>Some</span>
        <ul>
            <li>Some one</li>
            <li>Some two</li>
            <li>Some three</li>
        </ul>
    </li>
    <li><span>Menu</span>
        <ul>
            <li>Menu one</li>
            <li>Menu two</li>
            <li>Menu three</li>
        </ul>
    </li>
    <li><span>Items</span>
        <ul>
            <li>Items one</li>
            <li>Items two</li>
            <li>Items three</li>
        </ul>
    </li>
    <li><span>Here</span>
        <ul>
            <li>Here one</li>
            <li>Here two</li>
            <li>Here three</li>
        </ul>
    </li>
</ul>

CSS

ul { 
    list-style: disc; 
    padding: 1em;
}

JavaScript

jQuery(function($) {

    var $menu = $('#menu');
    var $all_twos = $menu.find('li:contains(two)');
    var $twos_lis = $menu.find('li:not(:has(ul)):contains(two)');
    console.log('menu', $menu);
    console.log('if any sub-branch has "two"', $all_twos);
    console.log('only those branches with "two"', $twos_lis);
});