如果div的索引等于元素的索引

时间:2015-02-16 10:45:51

标签: javascript jquery

我正在尝试获取页面上的元素索引:

$('#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,如何比较sectionsvs-control的索引,以及它们是否匹配 - 删除部分?

2 个答案:

答案 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();
});