una_chou
unaJ
采纳率15.4%
2017-09-19 15:55 阅读 2.2k

jquery怎么同时删除两个元素或撤销上一次的事件

我用jquery 点击事件,每点击一次,同时添加了两个元素,这两个元素是在不同的父元素里面的。
现在根据需求想要做撤销事件,怎么可以同时删除这两个添加的元素,或者有没有什么方法可以撤销上一次的点击事件发生的事情?

$(document).on('keyup', function (event) {
    var e = window.event ? event : e;
    if (e.ctrlKey && event.keyCode == 90) {
        $(".pointForLeft:last").remove();
        $(".pointForUp:last").remove();
    }
}) 

我用这个代码想要同时删除那两个元素,但是只能先删除$(".pointForLeft:last")元素,并且在全部删除后,才会去删除$(".pointForUp:last")元素,
有没有什么办法可以让这两个元素同时删除的?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • showbo GoCityPass新加坡曼谷通票 2017-09-20 00:19

    可以合并一条语句,但是内部还是分2次删除

       $(".pointForLeft:last,.pointForUp:last").remove();
    
    点赞 1 评论 复制链接分享
  • playboyanta123 show_code 2017-09-20 01:05

    不知道你为什么要搞这么复杂,你应该是想有一个撤销删除或者添加的功能吧,那你要把每次的操作的元素先缓存到全局变量里面,然后如果下一次操作开始了再去把上一次操作的元素remove

    点赞 评论 复制链接分享
  • u013337858 NatrayTang 2017-09-20 01:32

    obj.remove()

    点赞 评论 复制链接分享
  • b100522 椎名小由奈 2017-09-20 01:39
    $(document).on('keyup', function (event) {
        var e = window.event ? event : e;
        if (e.ctrlKey && event.keyCode == 90) {
    
            //给这两个元素附上自定义属性选择器,然后利用属性选择器删除(或者你在添加这两个元素的时候就附上相同的class,利用class删除)
             $(".pointForLeft:last").attr("data-name","test");
             $(".pointForUp:last").attr("data-name","test");
    
             $("[data-name='test']").remove();
        }
    })
    
    
    点赞 评论 复制链接分享
  • wuqiongqiong_ wuqiongqiong_ 2017-09-20 02:40

    可以设计一个函数 内部删除两个元素,然后一点击函数执行

    点赞 评论 复制链接分享

相关推荐