课程
/前端开发
/jQuery
/jQuery基础(二)—DOM篇
$(".right > div").filter(":eq(1)").remove()能删除test2
$(".right > div").remove(":eq(1)")却把两个div都删除了,为啥啊。
2018-07-15
源自:jQuery基础(二)—DOM篇 4-3
正在回答
jquery版本问题,换一个最新的就好了
$(".right > div").remove(":eq(1)")为什么要这么写?
$(".right > div:eq(0)").remove()
这样写不行?非得搞个不一样的,那样写本身就有问题。JQ本来就是封装好的JS 你不觉得你那种写法很不符合逻辑?
是慕课的问题,js代码好像是会执行两遍,你可以敲个alert试试,它会弹两次,所以第一次click中删了第一个后,第二个div的index变为0,也被删除了
把代码拿出去测了一下,$(".right > div").remove(":eq(0)")只会删除第一个div
qq_慕用5511547
未定义丶 回复 qq_慕用5511547
金刚无敌葫芦娃 回复 未定义丶
确实有这个问题,猜测前面$(".right > div")选中了两个div,一次click中删了第一个eq(0),第二个自动成为eq(0),也被删除了?不太合理啊,望回答
春天的雪 提问者
额我搞错了,是$(".right > div").remove(":eq(0)")会删除2个div不知道是为啥
weixin_慕仙1176837
weixin_慕仙1176837 回复 weixin_慕仙1176837
你确定$(".right > div").remove(":eq(1)")能把两个div都删除了????
不是应该这样写吗?$(".right > div:eq(1)").remove()
举报
jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换
2 回答关于remove()里面的参数
1 回答remove的问题
3 回答关于remove的移除问题
1 回答回调函数参数问题。
5 回答关于选择器和remove方法的问题