jquery选择兄弟姐妹'直到'

jsk*_*ski 12 jquery jquery-selectors

我有一个DOM的形式

<input class="parent"></div>
<input class="child"></div>
<input class="child"></div>
<input class="parent"></div>
<input class="child"></div>
...
Run Code Online (Sandbox Code Playgroud)

我知道这不是正确的,正确的方法是改革HTML,但我们说这是不可能的.

我怎样才能让jquery选择一个父母的所有孩子(即选择所有.children直到.parent)

fos*_*son 21

jQuery 1.4现在有.nextUntil(选择器)功能:

    $('div.parent').toggle(
        function() {
            $(this).nextUntil('div.parent').hide();
         },
        function() {
            $(this).nextUntil('div.parent').show();
        }
    );
Run Code Online (Sandbox Code Playgroud)


CMS*_*CMS 7

您可以遍历兄弟元素直到找到以下内容,请检查以下示例:nextAll div.parent

$('.parent').click(function() {
  $(this).nextAll('div').each(function() {
    if ($(this).is('.parent')) {
      return false; // next parent reached, stop
    }
    $(this).toggleClass('highlight');
  });
});
Run Code Online (Sandbox Code Playgroud)

标记使用:

<div class="parent">parent 1</div>
<div class="child">child</div>
<div class="child">child</div>
<div class="parent">parent 2</div>
<div class="child">child</div>
<div class="parent">parent 3</div>
<div class="child">child</div>
<div class="child">child</div>
<div class="child">child</div>
Run Code Online (Sandbox Code Playgroud)

...


red*_*are 6

*请参阅@foson回答jquery 1.4+*

看看Ben Almans 直到utils.

它为您提供了3种有用的方法:nextUntil,prevUntil,parentsUntil.