繁体   English   中英

在jQuery中查找下一个元素

[英]Find next element in 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>

使用我需要的是,找到一个包含.sequenceform-group下一个元素。

这是我在jquery中尝试过的方法:

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

    }

但是它没有选择此代码块中的元素:

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

谁能告诉我如何修改此jquery以使其符合我的要求。 谢谢。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM