在jquery中查找下一个元素

时间:2015-10-31 06:57:38

标签: javascript jquery

我确实有这样的HTML:

<div class="form-group">
    <input type="text" class="sequence valid">
</div>  

<div class="form-group">
    <input type="text" class="sequence valid">
</div>  

<div class="someclass1">
    <div class="someclass2">
        <div class="form-group">
            <input type="text" class="sequence valid">
        </div>  

        <div class="form-group">
            <input type="text" class="sequence valid">
        </div> 
  </div>
</div>  

<div class="form-group">
    <input type="text" class="sequence valid">
</div> 

<div class="someclass1">
    <div class="someclass2">
        <div class="form-group">
            <input type="text" class="sequence valid">
        </div>  
  </div>
</div>

使用我需要的是,找到包含.sequence的{​​{1}}的下一个元素。

这是我在jquery中尝试的方式:

form-group

但它没有选择这段代码中的元素:

var $element = $(event.target);
  if ($element.hasClass('valid')) {
        $element.closest('.form-group')
            .next('.form-group')
            .find('.sequence')

    }

有人能告诉我如何修改此jquery以符合我的要求。 谢谢。

1 个答案:

答案 0 :(得分:2)

问题是你的.next('.form-group')找不到目标元素,因为someclass1元素与选择器不匹配

$element.closest('.form-group')
    .next('.form-group, :has(.form-group)')
    .find('.sequence')

或者你可以省略next中的选择器并在下一个兄弟元素中找到.sequence元素

$element.closest('.form-group')
    .next()
    .find('.sequence')