我有一个元素。我想检查它是否满足特定查询,例如('.someclass'),其样式与querySelector 相同。
这并不像听起来那么容易。Element.querySelectorAll和Element.querySelector仅适用于相关元素的后代。不是元素本身。
var p = document.querySelector('p')
注意:上面的行仅用于说明目的。在现实生活中,我实际上是通过其他方式找到了该元素。
p.querySelector('p')
退货null
。因为 querySelector 只对后代进行操作。
我可以做:
p.parentNode.querySelector('.someclass')
但这会返回元素父元素的第一个子元素,它可能是不同的元素。例如,如果 'p' 是父级的第二个子级,则此代码将失败。
如何检查元素本身是否满足查询?