在 Can I Use... 上面的「:has() CSS relational pseudo-class」裡面可以看到 Firefox 一直都還沒支援,只有在 nightly 版本上面預設有開,這也代表還沒辦法很穩定的用這個 selector... (除非你直接忽略掉 Firefox)。
看到「Prodding Firefox to Update :has() Selection」這篇,Eric Meyer 在抱怨 Firefox 的這個問題,就算是 nightly 的版本也還是有奇怪的 bug,會抓不到 :has()
條件,需要用 contenteditable
的 workaround 觸發 Firefox 的計算。
在 Mozilla 的 Bugzilla 上可以看到票還開著:「Implement the :has() pseudo class」,看起來這陣子是一直有在更新,應該是有資源在上面追進度。
等到真的支援,就可以在 querySelectorAll()
裡面直接用 :has()
了,現在 Firefox 的情況讓 Userscript 寫起來有點卡...