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

$('.item-2').siblings(':last').css('border', '2px solid blue')

$('.item-2').siblings(':last').css('border', '2px solid blue')这个不应该是最后一块的1和3都被选中吗?为什么只有3被选中了

正在回答

8 回答

这是DOM树,你需要复习一下DOM知识啦,siblings()得到的同辈元素,不管他是哪个分支的,只要在同一层,就是兄弟,所以选到的是最后一个

                        1

           (2                2)兄弟

((4        4)     (4         4))不同分支,但都是兄弟

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

我同意1楼的说法。

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

可以理解为先选择了所有class为item-2的标签,然后siblings选出所有的同胞元素,放在一个集合里面,找出最后一个元素加边框

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

怀揣梦想的小白

正解!感谢
2019-01-30 回复 有任何疑惑可以回复我~

先选择了所有class为item-2的标签,然后siblings选出所有的同胞元素 假设为1,2,3,4,5,6,然后:last筛选出最后一个也就是6,也就是最后一块的3

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

:last它是筛选出最后一个加边框 所以只选中了最后一个item-3

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

.item-2是li的类名,你换成level-2就是下面整个的加边框了

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

因为siblings(':last')选择了所有兄弟元素中的最后一个!

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

慕姐5546343 提问者

不是所有兄弟元素啊,他选中的只是最后一块的最后一个,也就是3
2017-05-16 回复 有任何疑惑可以回复我~
#2

nearrrrr 回复 慕姐5546343 提问者

红色边框是指定元素所有的同辈元素,silings(":last")筛选出最后一个元素加蓝色边框
2017-09-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

$('.item-2').siblings(':last').css('border', '2px solid blue')

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