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个回答

$(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();
    }
})

b100522
椎名小由奈 回复unaJ: 祝你好运
大约 3 年之前 回复
una_chou
unaJ 回复椎名小由奈: 是按一下删除一个,再按一下,再删除第二个元素,我想要的是按一下,同时删除两个元素
大约 3 年之前 回复
b100522
椎名小由奈 回复unaJ: 删除两个元素的时候,中间会有卡顿?
大约 3 年之前 回复
una_chou
unaJ 这样也是一个个的删除,不能同时
大约 3 年之前 回复

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

cr4blm123
阿小狸 回复unaJ: 删除数组最后一个元素简单,数组对象.slice(0, 数组对象.length - 1);
大约 3 年之前 回复
una_chou
unaJ 是 定义一个全局数组,将元素标签添加到数组中,对吗?那怎么删除数组中的最后一个的元素标签啊
大约 3 年之前 回复

obj.remove()

una_chou
unaJ 将标签添加到obj吗?obj.remove() 是把obj里面的东西删除吧?怎么可以把html中的元素删除啊?
大约 3 年之前 回复

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

una_chou
unaJ 封装的函数,不是也要像我那样删除吗?这样结果不是一样的吗?
大约 3 年之前 回复

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

   $(".pointForLeft:last,.pointForUp:last").remove();
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐