jquery: find parent()*n in nested element?

2019-07-21 07:57发布

问题:

the question I could never find an answer for.

imagine I have a rather the following structure inside of a div:

<div class="BOX">
    <ul class="menu" role="navigation">
        </li><li><a class="btn" href="#">edit</a></li>
        <li><a class="btn" href="#">manage</a></li>
        <li><a class="btn deleteBtn" href="#">delete</a></li>
    </ul>
</div>

I want to find() div.BOX when I click on the a.deleteBtn. Since I have multiple div.BOX'es on my page I always need to find it with $(this).

so I could easily use trigger.parent().parent().parent() to select the element when inside of the deleteBtn-ClickHandler, but this doesn't look very nice. Is there a cleaner and better way to do so?

thank you.

回答1:

try this:

$(this).closest("div.BOX")


回答2:

or you can use $(this).parents('div.BOX')