jQuery-删除以前隐藏的输入
下面的代码是动态生成的,由三个隐藏输入和span标记组成。可能会添加多个这样的选项jQuery-删除以前隐藏的输入,jquery,Jquery,下面的代码是动态生成的,由三个隐藏输入和span标记组成。可能会添加多个这样的选项 <input type="hidden" name="activeTime[]" value="11:30" /> <input type="hidden" name="activeVenp[]" value="10" /> <input type="hidden" name="activeArtp[]" value="20" /> <span class="tag"&g
<input type="hidden" name="activeTime[]" value="11:30" />
<input type="hidden" name="activeVenp[]" value="10" />
<input type="hidden" name="activeArtp[]" value="20" />
<span class="tag">11:30
<a class="tag-addon removeActive"><i class="fe fe-x"></i></a>
</span>
父标记(范围)确实被删除,但隐藏的输入仍然存在。很明显,我的做法是错误的,似乎无法纠正它。使用prevAll()
$(“#activeReadingsDisplay”)。在(“单击”,“移除激活”,函数()上{
$(this).parent('span').prevAll('input:hidden').remove();
$(this.parent('span').remove();
});代码>
11:30
X
在@User863答案的帮助下,我发现了这个问题,我是这样实现的:
$(this).parent().prevUntil('span').remove();
这将删除提供HTML的隐藏输入字段:
function removeHiddenInput() {
$(this).parent().prevAll('input[type=hidden]').remove();
}
$('.removeActive').on('click', removeHiddenInput);
这可以通过以下方式实现:
使用closest()
使用prevAll()
使用addBack()
将先前的元素匹配与初始选择器堆栈(即.tag元素)合并
remove()
$(文档).ready(函数(){
$('activeReadingsDisplay')。打开('click','removeActive',函数(){
$(this).closest('.tag').prevAll('input').addBack().remove();
});
});代码>
.tag{
边框:1px实心;
填充:.25rem;
}
.标签插件{
光标:指针;
}
11:30
X
$(this).parent()将是带有class标记的span。
function removeHiddenInput() {
$(this).parent().prevAll('input[type=hidden]').remove();
}
$('.removeActive').on('click', removeHiddenInput);