为了账号安全,请及时绑定邮箱和手机立即绑定

remove中参数的问题

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

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

正在回答

6 回答

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

0 回复 有任何疑惑可以回复我~

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

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

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

0 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~
#1

qq_慕用5511547

两个都会删除的,
2019-01-21 回复 有任何疑惑可以回复我~
#2

未定义丶 回复 qq_慕用5511547

别误导别人了,是网站的问题,其实只会删除一个,不过这种写法有点无聊,
2019-03-10 回复 有任何疑惑可以回复我~
#3

金刚无敌葫芦娃 回复 未定义丶

不是网站的问题,两个都会删除,remove执行了两次,不只是eq(0),用 nth-child(1)的话也是一样的效果,无论是2个还是100个都会全删除,因为删了第一个后,原本的第二个变成了第一个,它会一直删到没有第一个,也就是空
2020-03-28 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

春天的雪 提问者

感觉就是remove里面的筛选器没起作用,所以把两个都删除了
2018-07-25 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

weixin_慕仙1176837

你把代码改成这样$(".right >div:eq(0)">.remove();你就可以点两次了删除了,不会一下子都删除了
2020-09-22 回复 有任何疑惑可以回复我~
#2

weixin_慕仙1176837 回复 weixin_慕仙1176837

代码错了$(".right > div:eq(0)").remove();
2020-09-22 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础(二)—DOM篇
  • 参与学习       114014    人
  • 解答问题       590    个

jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换

进入课程

remove中参数的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信