reopened → closed
I have attached a minimal test case; be sure that "Show CSS Errors" is turned on in the console or the message will not appear.
For best performance, the selector
is first passed to querySelectorAll in Sizzle, which is wrapped in a try/catch. Since
isn't a standard CSS pseudo, FF throws and also shows that console warning. Sizzle then parses the selector string itself and the resulting jQuery set is exactly what it should be.
By my reading, the W3C draft of the Selectors API recommends doing just what Sizzle is doing:
"Some implementations might have different levels of support for Selectors. If some implementations lack support for some selectors, then the use of such selectors will result in those implementations failing to return the expected results. Authors are advised to check for the DOM Exceptions thrown by these APIs and provide a fallback for graceful degradation."
There is no error or bug here, just a spurious warning on the console. Avoiding the message would require parsing the selector string to know whether it was suitable for querySelectorAll, which would impact performance. QSA already has a fast way to tell us selectors it doesn't recognize -- it throws an exception and we catch it.