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 进行说明。
- 你能解释一下
:valid
和 :invalid
选择器是在哪里定义的吗?
- jQuery如何解析这些选择器?
jQuery 不包含它自己的 :valid
和 :invalid
选择器的实现。这些选择器通过 document.querySelectorAll()
.
标准的浏览器本机实现在 jQuery 中工作
这也意味着 $(":valid")
和 $(":invalid")
将无法在不支持这些选择器的浏览器中工作,例如 Internet Explorer 8(顺便说一句,唯一实现 querySelectorAll()
) 及以上。
:valid
和 :invalid
不是 jquery 选择器。它是一个 CSS3 选择器。它在 CSS 选择器级别 3 规范中被定义为“有效性伪选择器”,这意味着它用于根据用户输入的评估来设置交互元素的样式。
您可以从以下url.
中获得更多清晰度
在 jQuery 3.2.1 中,调用下面的表达式 returns "undefined"
(对于两者):
typeof $.expr[":"]["valid"]
typeof $.expr[":"]["invalid"]
但是,可以调用 $(":valid")
或 $(":invalid")
,在下面的示例中,似乎这些选择器 return 输入具有有效或无效值。
documentation中没有提到这些选择器的存在。
请查看此 example 进行说明。
- 你能解释一下
:valid
和:invalid
选择器是在哪里定义的吗? - jQuery如何解析这些选择器?
jQuery 不包含它自己的 :valid
和 :invalid
选择器的实现。这些选择器通过 document.querySelectorAll()
.
这也意味着 $(":valid")
和 $(":invalid")
将无法在不支持这些选择器的浏览器中工作,例如 Internet Explorer 8(顺便说一句,唯一实现 querySelectorAll()
) 及以上。
:valid
和 :invalid
不是 jquery 选择器。它是一个 CSS3 选择器。它在 CSS 选择器级别 3 规范中被定义为“有效性伪选择器”,这意味着它用于根据用户输入的评估来设置交互元素的样式。
您可以从以下url.
中获得更多清晰度