jQuery 中的 :valid 和 :invalid 选择器

:valid and :invalid selectors in jQuery

在 jQuery 3.2.1 中,调用下面的表达式 returns "undefined"(对于两者):

typeof $.expr[":"]["valid"]
typeof $.expr[":"]["invalid"]

但是,可以调用 $(":valid")$(":invalid"),在下面的示例中,似乎这些选择器 return 输入具有有效或无效值。 documentation中没有提到这些选择器的存在。

请查看此 example 进行说明。

jQuery 不包含它自己的 :valid:invalid 选择器的实现。这些选择器通过 document.querySelectorAll().

标准的浏览器本机实现在 jQuery 中工作

这也意味着 $(":valid")$(":invalid") 将无法在不支持这些选择器的浏览器中工作,例如 Internet Explorer 8(顺便说一句,唯一实现 querySelectorAll()) 及以上。

:valid:invalid 不是 jquery 选择器。它是一个 CSS3 选择器。它在 CSS 选择器级别 3 规范中被定义为“有效性伪选择器”,这意味着它用于根据用户输入的评估来设置交互元素的样式。

您可以从以下url.

中获得更多清晰度

CSS Selector :invalid