我确实有这样的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以符合我的要求。 谢谢。
答案 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')