jquery下一个兄弟姐妹

Con*_*tra 3 javascript jquery traversal siblings selector

我一直试图解决这个问题,但如果没有一些严肃的解决方法,我似乎无法弄明白.

如果我有以下HTML:

<ul>
    <li class="parent"> headertext </li>
    <li> text </li>
    <li> text </li>
    <li> text </li>
    <li class="parent"> headertext </li>
    <li> text </li>
    <li> text </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

现在,我现在如何选择<li>第一个父母之后的标签(或者第二个)?基本上选择<li>with class="parent"和以下兄弟姐妹,直到它<li>与父类一起到达另一个兄弟姐妹.

我可以使用嵌套列表重新构建列表,但我不想这样做.有什么建议?

小智 11

实际上,您可以使用nextUntil()轻松完成此操作.因为它已经存在,所以不需要编写自己的"nextUntil".

恩. -

$(".a").nextUntil(".b");
Run Code Online (Sandbox Code Playgroud)

或者根据文森特的建议 -

$(".parent:first").nextUntil(".parent");
Run Code Online (Sandbox Code Playgroud)


Mar*_*urd 6

问题的根源在于你<li>被归类为父母的那些人并不是<li>他们的"下面"的父母.他们是兄弟姐妹.jQuery有许多功能可以与实际的父母一起工作.我建议你真的修改你的标记.与使用jQuery拼凑一些东西相比,它更快,更干净,更易于维护,并且语义更正确.