Search code examples
jqueryhtmlchildren

jquery <li> click event to children elements


HTML

<ul id="wrapper">
    <li>
        <ul class="pr">
            <li>
                <ul class="pr">
                    <li></li>
                    <li></li>                       
                </ul>
            </li>
            <li>
                <ul class="pr">
                    <li></li>
                    <li></li>                       
                </ul>
            </li>
        </ul>
    </li>
    <li>
        <ul class="etc">
            <li>
                <ul class="etc">
                    <li></li>
                    <li></li>                       
                </ul>
            </li>
            <li>
                <ul class="etc">
                    <li></li>
                    <li></li>                       
                </ul>
            </li>
        </ul>
    </li>
</ul>

I want when click at each li elements, they adds a class to their children ul (closest ul only, not all ul inside them).

How to do that?

Sorry for my bad English.


Solution

  • Try

    $('#wrapper li:has(ul)').click(function (e) {
        $(this).children('ul').toggleClass('myclass');
        e.stopPropagation();
    })
    

    Demo: Fiddle