jQuery 选择器获取最后一个没有类的子元素
我有一个嵌套 UL
和 LI
的页面,我需要获取每个 UL
的最后一个 LI
,所以我正在这样做:
$('li:last-child')
这效果很好。
但我需要扩展它,以便它获得每个 UL
的最后一个子 LI
,其中 LI
没有给定的类(<代码>x)。例如:
<ul>
<li class="x">1</li>
<li>2</li>
<li class="x">3</li>
<li>4</li>
<li>5</li>
<li class="x">
6
<ul>
<li class="x">7</li>
<li>8</li>
<li class="x">9</li>
<li>10</li>
<li>11</li>
<li class="x">12</li>
<li class="x">13</li>
</ul>
</li>
</ul>
我需要返回 LI
5 和 11(因为它们是其父级 ul
中最后一个没有 .x
的子级)
我怎样才能优雅地做到这一点?
I have a page of nested UL
s and LI
s, I need to get the last LI
of each UL
, so I'm doing:
$('li:last-child')
this works great.
But I need to extend this so it gets the last child LI
of each UL
, where the LI
doesn't have a given class (x
). For example:
<ul>
<li class="x">1</li>
<li>2</li>
<li class="x">3</li>
<li>4</li>
<li>5</li>
<li class="x">
6
<ul>
<li class="x">7</li>
<li>8</li>
<li class="x">9</li>
<li>10</li>
<li>11</li>
<li class="x">12</li>
<li class="x">13</li>
</ul>
</li>
</ul>
I need to return LI
5 and 11 (as these are the last children within their parent ul
that don't have .x
)
How can I do this elegantly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
map()
(docs)< /sup> 方法,通过迭代元素来创建 jQuery 对象,并返回最后一个不带
子元素代码>x类。
示例: http://jsfiddle.net/e2Da7/2/
< strong>编辑: 使用问题中发布的 HTML 更新了我的 jsFiddle 示例。
Use the
map()
(docs) method to create a jQuery object by iterating over the<ul>
elements, and returning the last child<li>
element without anx
class.Example: http://jsfiddle.net/e2Da7/2/
EDIT: Updated my jsFiddle example with the HTML that was posted in the question.
过滤掉带有类的元素。
如果 li 元素中的类不同,也就是说,如果所有元素不是
class="x"
那么类似Filter out the elements with a class.
If the classes are different amongst the li elements, that is if all the elements are not
class="x"
then something like