我想删除具有相同类元素的每个选定元素。我的jquery编码如下所示
$(".del_layer").each(function(){ $(this).click(function(){
$(this).parent().remove();
});
});
我的html结构是
<li class="select_layerList" data-refind="0">
<img width="20px" src="tmp_card_imgs/a.png">
Layer 0:Image
<span class="del_layer" style="cursor:pointer;">X</span>
</li>
<li class="select_layerList" data-refind="0">
<img width="20px" src="tmp_card_imgs/b.png">
Layer 0:Image
<span class="del_layer" style="cursor:pointer;">X</span>
</li>
但是每个功能都不起作用。 我该如何解决这个问题
答案 0 :(得分:1)
工作正常。
确保已加载DOM
,将代码置于document.ready()
$(document).ready(function() {
});
答案 1 :(得分:0)
您可以删除每个功能,因为您可以通过类名选择它们,并将您的脚本放在文档就绪,如
$(document).ready(function(){
$('.del_layer').on('click',function(){
$(this).parent().remove();
});
});
答案 2 :(得分:0)
为什么不尝试这样的事情
$(".del_layer").on('tap',function(){
$(this).parent().remove();
});
答案 3 :(得分:0)
无需遍历.each()
,只需将事件应用于选择器并删除其父级:
$(".del_layer").click(function(){
$(this).parent('li').remove();
});
您可以使用.closest()
函数遍历所需的父级。
$(".del_layer").click(function(){
$(this).closest('li').remove();
});
答案 4 :(得分:0)
使用事件委派,您可以设置一次相同的处理程序:
$(document).on('click', '.del_layer', function() {
$(this).parent().remove();
});