简体   繁体   中英

How to show element when mouseenter on parent?

I have list:

<ul class="items">
    <li class="item">
         <div>Test</div>
         <div class="control" hidden="true">Visible</div>
         <ul class="items">
             <li class="item">
                 <div>Test1</div>
                 <div class="control" hidden="true">Visible</div>
             </li>
             <li class="item">
                 <div>Test2</div>
                 <div class="control" hidden="true">Visible</div>
             </li>
             <li class="item">
                 <div>Test3</div>
                 <div class="control" hidden="true">Visible</div>
             </li>
         </ul>
    </li>
    <li class="item">
         <div>Test4</div>
         <div class="control" hidden="true">Visible</div>
    </li>
</ul>

I'm trying

'mouseenter li.item': function (event) {
    $(event.currentTarget).find('div.control').show();
}

But it works on all children div with class 'control'. Can you please help me? I think

The .find() method will find all matching descendant elements.

If you only want to select direct children, use the .children() method instead:

$(event.currentTarget).children('div.control').show();

Alternatively, you can also use the direct child selector, > :

$(event.currentTarget).find('> div.control').show();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM