【发布时间】:2011-02-16 10:50:49
【问题描述】:
给定以下假设标记:
<ul class="monkey">
<li>
<p class="horse"></p>
<p class="cow"></p>
</li>
</ul>
<dl class="monkey">
<dt class="horse"></dt>
<dd class="cow">
<dl>
<dt></dt>
<dd></dd>
</dl>
<dl class="monkey">
<dt class="horse"></dt>
<dd class="cow"></dd>
</dl>
</dd>
</dl>
我希望能够在每个猴子类中获取“第一级”马和牛类。但我不想要 NESTED horse 和 cow 课程。
我从 .children 开始,但这不适用于 UL 示例,因为它们不是 .monkey 的直接子级。
我可以使用 find: $('.monkey').find('.horse, .cow') 但这会返回所有实例,包括嵌套的实例。
我可以过滤 find: $('.monkey').find('.horse, .cow').not('.cow .horse, .cow .cow') 但这会阻止我选择嵌套实例在第二个函数调用上。
所以...我想我正在寻找的是'找到这个后代的第一个“级别”'。 我可能会使用一些循环逻辑来做到这一点,但想知道是否有一个选择器和/或一些选择器组合可以实现该逻辑。
更新:
这就是我最终得到的结果:
$('.monkey')
.children('.cow')
...do something...
.end()
.children('li')
.children('.cow')
...do something...
.end()
.end()
似乎冗长/hacky,但似乎有效。
【问题讨论】:
标签: jquery