使用JQuery在页面的任何位置查找上一课

时间:2015-02-04 13:26:42

标签: jquery

我想点击.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');
}

2 个答案:

答案 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');
});