我不确定我现在拥有的代码的复杂性:
$(document).on('click', '#filter-items span i', function(e) {
var filter_value = $(this).parent().attr('data-value');
var filter_field = $(this).parent().attr('data-field');
$( this ).parent().remove();
$('#the-filters input[name="' + filter_field +'"][value="' +filter_value +'"]').trigger('click');
});
选择的过滤器项结构为:
<div id="filter-items">
<span data-value="14" class="filter-item" data-field="category">Filter 1<i class="fas fa-times"></i></span>
</div>
我似乎无法弄清的问题是:
$('#the-filters input[name="' + filter_field +'"][value="' +filter_value +'"]').trigger('click');
出现在代码上,它会停止
$( this ).parent().remove();
被执行。有什么原因会发生这种情况吗?我试图将删除行放在if语句中,然后将触发代码放入其中,但是发生了相同的事情。
答案 0 :(得分:0)
触发.click会重新创建跨度,因此这就是删除似乎无效的原因。