以下代码适用于 Chrome 和 Edge,但不适用于 Firefox:
document.querySelectorAll('a:not(:has(a))')
在 Firefox 上,它会抛出
未捕获的 DOMException:Document.querySelectorAll:'a:not(:has(a))' 不是有效的选择器
Firefox 的选择器有什么问题?
:has()
伪类不是CSS标准的一部分,并且在Firefox中不受支持。
我想你可以使用这个代码。
const result = Array.from(
document.querySelectorAll("a")
).filter((link) => !link.querySelector("a"));