选择器“a:not(:has(a))”适用于 Chrome,但不适用于 Firefox [重复]

问题描述 投票:0回答:1

以下代码适用于 Chrome 和 Edge,但不适用于 Firefox:

document.querySelectorAll('a:not(:has(a))')

在 Firefox 上,它会抛出

未捕获的 DOMException:Document.querySelectorAll:'a:not(:has(a))' 不是有效的选择器

Firefox 的选择器有什么问题?

javascript dom firefox css-selectors
1个回答
3
投票

:has()
伪类不是CSS标准的一部分,并且在Firefox中不受支持。

我想你可以使用这个代码。

const result = Array.from(
  document.querySelectorAll("a")
).filter((link) => !link.querySelector("a"));
© www.soinside.com 2019 - 2024. All rights reserved.