我正在尝试获取页面上的元素索引:
$('#wrapper section').each(function(){
$(this).attr('data-index', $(this).index());
});
然后我用我的部分svs-control
创建div data-index
:
$('#wrapper section').each(function(){
var me = this;
$('#re_order').append('<div class="svs-control" data-index="'+$(me).index()+'"></div>');
});
现在我想通过引用每个section
来删除每个svs-control
,如何比较section
和svs-control
的索引,以及它们是否匹配 - 删除部分?
答案 0 :(得分:4)
鉴于您通过索引访问每个section
,将该值分配给数据属性是多余的,因此可以删除第一个each()
循环。您可以在.svs-control
元素上使用委托事件处理程序(因为它们会动态附加到DOM),并使用section
按索引查找eq()
:
$('#re_order').on('click', '.svs-control', function() {
var index = $(this).data('index');
$('#wrapper section').eq(index).remove();
});
答案 1 :(得分:1)
您可以使用clicked元素的data-index属性构建属性equals选择器并定位section元素:
$('.svs-control').click(function(){
$('section[data-index="'+$(this).attr('data-index')+'"]').remove();
});