问答详情
源自:4-3 DOM节点删除之empty和remove区别

remove中参数的问题

$(".right > div").filter(":eq(1)").remove()能删除test2

$(".right > div").remove(":eq(1)")却把两个div都删除了,为啥啊。

提问者:春天的雪 2018-07-15 13:47

个回答

  • 慕无忌1343731
    2019-07-11 09:44:48

    jquery版本问题,换一个最新的就好了

  • qq_慕用5511547
    2019-01-21 17:15:49

    $(".right > div").remove(":eq(1)")为什么要这么写?

    $(".right > div:eq(0)").remove()

    这样写不行?非得搞个不一样的,那样写本身就有问题。JQ本来就是封装好的JS  你不觉得你那种写法很不符合逻辑?

  • 耿直的杨耿直
    2018-09-20 16:58:26

    是慕课的问题,js代码好像是会执行两遍,你可以敲个alert试试,它会弹两次,所以第一次click中删了第一个后,第二个div的index变为0,也被删除了

    把代码拿出去测了一下,$(".right > div").remove(":eq(0)")只会删除第一个div

  • 慕慕9098104
    2018-07-24 10:13:33

    确实有这个问题,猜测前面$(".right > div")选中了两个div,一次click中删了第一个eq(0),第二个自动成为eq(0),也被删除了?不太合理啊,望回答

  • 春天的雪
    2018-07-16 20:35:27

    额我搞错了,是$(".right > div").remove(":eq(0)")会删除2个div不知道是为啥

  • Nat纳特
    2018-07-16 15:12:51

    你确定$(".right > div").remove(":eq(1)")能把两个div都删除了????

    不是应该这样写吗?$(".right > div:eq(1)").remove()