【问题标题】:Event to remove element before之前移除元素的事件
【发布时间】:2010-02-15 06:02:15
【问题描述】:

我将如何在 jQuery 中编写一个事件,以便如果我单击任何链接,它不会删除它周围的 divouter,而是删除它之前的 divouter?

    <div class='divouter'>
<a href='#'>Link</a>
    </div>
    <div class='divouter'>
<a href='#'>Link</a>
    </div>
    <div class='divouter'>
<a href='#'>Link</a>
    </div>
    <div class='divouter'>
<a href='#'>Link</a>
    </div>

【问题讨论】:

    标签: jquery dom-manipulation


    【解决方案1】:

    试试这个:

    $(".divouter a").click(function() {
        $(this).parent(".divouter").prev(".divouter:last").remove();
    });
    

    【讨论】:

    • 我没有测试你的整个代码,但是 prev 方法正是我所需要的。
    • 是否需要:last 过滤器? prev() 只选择一个元素,AFAIK。
    • 我不确定,我没有在我自己的代码中使用它。我只是使用了prev方法。
    • @J-P: 如果前一个元素不是 divouter 之一怎么办?或者我们可以忽略这种情况,@user201140?
    【解决方案2】:
    $('.divouter a').click(function(){
        var prevParent = $(this).parent().prev();
        if (prevParent.length) prevParent.remove();
    });
    

    【讨论】:

      猜你喜欢
      • 2021-04-15
      • 2010-11-11
      • 2021-11-21
      • 2011-08-27
      • 2011-09-26
      • 2011-03-09
      • 1970-01-01
      • 2019-02-28
      • 2012-06-13
      相关资源
      最近更新 更多