【发布时间】:2018-02-28 00:14:12
【问题描述】:
我正在尝试选择当前元素的同级元素,但是当我在元素上使用 a.querySelector(':scope') 时,它为空。当我尝试向:scope 添加同级选择器时,它仍然为空,但如果我在.matches(':scope') 中使用它,它会返回true。如何在选择器中使用当前元素?
let a = document.querySelector('div > a')
console.log(a.querySelector(':scope'))
console.log(a.querySelector(':scope + span'))
console.log(a.matches(':scope'))
<div>
<a href=""></a>
<span></span>
</div>
【问题讨论】:
-
.querySelector()"返回第一个元素,它是调用它的元素的后代"。:scope是元素.querySelector()已被调用。这两个组合 ->a.querySelector(':scope')返回null因为a不是a的孩子