附加和删除特定元素

时间:2015-11-18 11:37:46

标签: javascript jquery html

我正在尝试删除附加到html的特定href标记:

jQuery的:

第一个函数生成链接:

var edit_link = function (id, price) {
    var args = ('<a target="_blank" class="tag-res" href="/reservations/database/edit/'+id+'">Res: '+id+ '('+price+')</a>');
    return args;
}

在选择值时附加链接。

var ajaxHandler = function(decrement) {
    return function(value){
        $.ajax({
            type: 'GET',
            url: '/police/get_res_price?price=' + value,
            success: function (data) {
                var initial_price = parseInt($('.give-me-money').val());
                var obj = JSON.parse(data);
                $.each(obj, function (booking_price, value) {
                    if (decrement) {
                        initial_price -= parseInt(value.BOOKING_PRICE);
                        $(edit_link(value.DBASE_ID, value.BOOKING_PRICE)).remove();
                    } else {
                        //case booking is null alert
                        if (value.BOOKING_PRICE === 0 || value.BOOKING_PRICE <= 0) {
                            alert('There is a problem with Reservation: ' + value.DBASE_ID + '\n\nProblem: Price is 0');
                        }
                        initial_price += parseInt(value.BOOKING_PRICE);
                        $('div[name=res_list]').removeClass('hidden');
                        $('.res_selected_list').append(edit_link(value.DBASE_ID, value.BOOKING_PRICE));
                    }
                });
                $('.give-me-money').val(initial_price); //set total
            }
        });
        this.qs1.cache();
        this.qs2.cache();
    }
}

Html:

<div name="res_list" class="row-space-2 form-group hidden">
    <label class="col-md-3 control-label" for="inputTooltip">Selected reservations:</label>
    <div class="col-md-6 res_selected_list"></div>
</div>

附加工作正常但尝试删除每个附加元素:$(edit_link(value.DBASE_ID, value.BOOKING_PRICE)).remove(); 一切都没有发生。建议?

1 个答案:

答案 0 :(得分:2)

当你这样做时

Gemfile

它实际上会创建一个新项并将其删除。

您需要能够找到已创建的项目并将其从DOM中删除 为此,您可以引入$(edit_link(value.DBASE_ID, value.BOOKING_PRICE)).remove(); 属性:

data-id

然后,使用以下命令将其删除:

var edit_link = function (id, price) {
    var args = '<a target="_blank" data-id="' + id + '" class="tag-res" href="/reservations/database/edit/'+id+'">Res: '+id+ '('+price+')</a>';
    return args;
}