从相同位置的单独阵列中删除两个项目

时间:2011-12-14 10:41:31

标签: jquery

我有两个独立的数组,看起来像这样

12-Jan-12 (remove), 14-Mar-12 (remove)
£139, £187

当有人点击数组中的删除按钮时,我需要它从同一位置的第二个数组中删除那个

因此,如果我点击12-Jan-12上的删除,那么我希望它从第二个数组中删除£139

这里有一些代码我已经从第一个数组中删除了一个

$('.delete-date').live('click', function() {

    $(this).closest('.myDate').remove();

});

这是我的HTML

<span class="dates">
    <span class="myDate">
        12-jan-12
        <span class="delete-date" title="remove this tag" />
    </span>,
    <span class="myDate">
        14-mar-12
        <span class="delete-date" title="remove this tag" />
    </span>,
</span>

<span class="costs">
    <span class="myCost">
        £139
    </span>,
    <span class="myCost">
        £187
    </span>,
</span>

有什么想法吗?

提前致谢

3 个答案:

答案 0 :(得分:1)

使用jQuery,您可以使用.index()方法获取兄弟的索引,并使用.eq()方法根据索引选择元素。所以:

var d = $(this).closest('.myDate');
var index = d.index();

d.remove();

$(".costs .myCost").eq(index).remove();

注意:您应该考虑使用.live()(或delegate()与jQuery 1.7),而不是.on(),因为它效率更高。

答案 1 :(得分:1)

您可以使用index()方法获取元素的索引,并在第二组中找到匹配的索引。

$('.delete-date').live('click', function() {
    var pos = $(this).closest('.myDate').index();
    $(this).closest('.myDate').remove();
    $('.costs .myCost').eq(pos).remove();
});

http://api.jquery.com/index/

答案 2 :(得分:0)

您正在寻找合并

.index() 

.eq()

例如,在单击事件处理程序

var dateIndex = $(".dates").index($(this));
prices.eq(dateIndex).hide();