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

关于选择器和remove方法的问题

        $("p").remove(".test2>p:nth-child(1)")


 我通过这个选择器选择 test2下的第一个p,怎么两个都被删了呢?我试了一下把1改成2,就能精确删除第二个子节点?

2019-04-24 源自:jQuery基础(二)—DOM篇 4-2 635 浏览 5 回答

直接在第一个选择器里进行选择吧,例如 $('.test2 p:nth-child(1)').remove();

remove中的选择器有点迷,等高手分析愿意

2019-04-25
回复 1

选择p1

2019-05-05
回复 0

remove的参数不是放在自己的小括号里的,放在$('')这个里面,选择到指定元素,进行移除销毁

2019-12-10
回复 0

:nth-child(index)  中的索引index 是从1开始计数的, 与eq(index) 要区分开

2020-01-16
回复 0

我猜是这样的

$("p").remove(".test2>p:nth-child(1)")

因为选择器在remove()的括号里面,所以,你的写法是没问题的,只是当nth-child(1)时,选到了第一个p,然后remove把它删除了,然后因为有两个p元素,原来的第二个p元素变成了第一个p元素,然后remove又把原来的第二个p,现在的第一个p也删除了……

我试了下发现当nth-child(1)时,再多p元素也会删光光

而当写为$('.test>p:nth-child(1)').remove()时,就能只删除一个;

可能牵扯到remove()的实现方式,具体什么原理我还没学习到那一步.

2020-03-28
回复 0

金刚无敌葫芦娃

$('.test2>p:nth-child(1)').remove() 少写了个2
#1 2020-03-28 回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信