我想点击.parent-row
.add-image
以下是HTML:
<form>
<div class="row parent-row">
<div class="col-xs-9">
<div class="form-group form-group-default">
<label>Exercise Name</label>
<input type="text" class="form-control" name="data[img][0][]" required>
</div>
</div>
<div class="col-xs-3">
<a href="javascript:void(0)" class="text-info small add-extra"><i class="fa fa-plus"></i> Add Exercise</a>
</div>
</div>
<div class="row">
<div class="col-xs-8 col-xs-offset-1">
<div class="form-group form-group-default">
<label>Exercise Image</label>
<input type="file" class="form-control" name="data[vid][0][]" required>
</div>
</div>
<div class="col-xs-3">
<a href="javascript:void(0)" class="text-info small add-image"><i class="fa fa-plus"></i> Add Image</a>
</div>
</div>
<div class="row">
<div class="col-xs-8 col-xs-offset-1">
<div class="form-group form-group-default">
<label>Exercise Video</label>
<input type="text" class="form-control" name="data[Exercise][name][]" required>
</div>
</div>
<div class="col-xs-3">
<a href="javascript:void(0)" class="text-info small add-video"><i class="fa fa-plus"></i> Add Video</a>
</div>
</div>
</form>
我尝试了以下操作,但没有奏效:
$('html').on('click', '.add-image', function () {
$(this).prevUntil('.parent-row');
$(this).prev('.parent-row');
$(this).closest('.parent-row');
}
答案 0 :(得分:1)
.add-image
是最近div .row
的先前兄弟。您需要遍历.row
元素,然后使用.prev()
将所需的div定位到类.add-image
:
$(this).closest('.row').prev()
答案 1 :(得分:1)
您使用的关系是错误的。 parent-row
是按钮的row
祖先的先前兄弟,或者两者都属于同一种形式
$('html').on('click', '.add-image', function () {
$(this).closest('.row').prevAll('.parent-row').first();
$(this).closest('form').find('.parent-row');
});