我有两个独立的数组,看起来像这样
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>
有什么想法吗?
提前致谢
答案 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();
});
答案 2 :(得分:0)
您正在寻找合并
.index()
和
.eq()
例如,在单击事件处理程序
中var dateIndex = $(".dates").index($(this));
prices.eq(dateIndex).hide();