切换克隆元素jQuery上链接的可见性

切换克隆元素jQuery上链接的可见性,jquery,Jquery,我有一个div,它使用“复制”链接克隆div,然后隐藏第一个“复制”链接,只留下最近的链接可见 当我删除克隆的div时,我似乎无法正确地遍历DOM以再次显示第一个“复制”链接 <div class="group"> <a class="remove">x</a> // hidden until div is cloned <a class="add">Duplicate</a> </div> 删除克隆的div+将“复制”

我有一个div,它使用“复制”链接克隆div,然后隐藏第一个“复制”链接,只留下最近的链接可见

当我删除克隆的div时,我似乎无法正确地遍历DOM以再次显示第一个“复制”链接

<div class="group">
<a class="remove">x</a> // hidden until div is cloned

<a class="add">Duplicate</a>
</div>
删除克隆的div+将“复制”链接添加回:

$(".remove").click(function() {
    $(this).parent(".group").remove();
});

$(".duplicated .remove").click(function() {
    $(this).parent(".group").find("a.add").show();
});


我尝试了一百万个.prev()、.parent()和.nestest()的组合,但都无法使它们工作。

下面的代码不起作用,因为您正在操作不再存在的dom。而且,当您已经有一个click事件时,不需要添加/绑定click事件

  $(".duplicated .remove").click(function() {
        $(this).parent(".group").find("a.add").show();
    });
我更改该函数以完成您的要求

$(".remove").click(function() {
    if($(this).parent().find('.add').is(':visible'))
        $(this).parent('.group').prev('.group').find("a.add").show();
  $(this).parent(".group").remove();  
});
如果复制链接对当前节点可见,则仅对其上一个节点的“复制”链接可见。
希望这会有帮助

$(“a.add”)
在您的示例中,该类的锚点在哪里?@j08691 oops,已编辑以将正确的锚点添加到示例代码中。
$(".remove").click(function() {
    if($(this).parent().find('.add').is(':visible'))
        $(this).parent('.group').prev('.group').find("a.add").show();
  $(this).parent(".group").remove();  
});