jQuery - 从上面查找具有特定类的第一个元素,但不在另一个元素之前
HTML 看起来像这样:
<li class="divider">
<div>
...(maybe more divs)...
<div class="content">
...(maybe more divs)...
<a href="#" class="link">LINK</a>
...
如何从挂在链接上的 jQuery 函数中选择 .content DIV? 请注意,我有多个这样的列表,其中一些列表可能会丢失 div.content,因此我只想选择当前块 (li.divider) 中存在的 div。
我尝试使用 $link.parent().parent().find('content')
但在某些情况下会失败,因为这两个元素之间的元素数量可能会改变......
The HTML looks something like this:
<li class="divider">
<div>
...(maybe more divs)...
<div class="content">
...(maybe more divs)...
<a href="#" class="link">LINK</a>
...
how can I select the .content DIV, from within a jQuery function hooked on the link?
Note that I have multiple lists like this, and in some of them div.content might be missing, so I want to select this div only if it exists in the current block (li.divider).
I tried with $link.parent().parent().find('content')
but it fails in some cases, because the number of elements between these 2 elements can change...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果它们没有嵌套,您应该能够执行以下操作:
或者
如果它们是嵌套的,那么您可能需要执行以下操作:
...这样,如果存在嵌套,并且没有
div。 content
在当前的中,您最终不会选择更远的div.content
祖先。If they're not nested, you should be able to do this:
or
If they are nested, then you may need to do something like this:
...so that if there's nesting going on, and there's no
div.content
in the current one, you won't end up selecting a more distantdiv.content
ancestor.$link.parent(".content")
?$link.parent(".content")
?使用
closest
选择器...Use the
closest
selector...