Javascript :有效,并且:jQuery中的选择器无效
在jQuery中,调用下面的表达式将返回Javascript :有效,并且:jQuery中的选择器无效,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,在jQuery中,调用下面的表达式将返回“未定义”(对于两者): 但是,可以调用$(“:valid”)或$(“:invalid”),在下面的示例中,这些选择器似乎返回具有有效或无效值的输入。 中没有提到这些选择器的存在 请检查此项以获得澄清 您能解释一下在哪里定义了:valid和:invalid选择器吗 jQuery如何解析这些选择器 jQuery不包含自己的:valid和:invalid选择器的实现。这些选择器通过document.querySelectorAll()在jQuery中通过浏览
“未定义”
(对于两者):
但是,可以调用$(“:valid”)
或$(“:invalid”)
,在下面的示例中,这些选择器似乎返回具有有效或无效值的输入。
中没有提到这些选择器的存在
请检查此项以获得澄清
- 您能解释一下在哪里定义了
和:valid
选择器吗:invalid
- jQuery如何解析这些选择器
:valid
和:invalid
选择器的实现。这些选择器通过document.querySelectorAll()
在jQuery中通过浏览器的本机标准实现工作
这也意味着
$(“:valid”)
和$(“:invalid”)
将无法在不支持这些选择器的浏览器中工作,例如Internet Explorer 8(顺便说一句,这是唯一实现querySelectorAll()
)和更旧的。:valid
和:invalid
不是jquery选择器。它是一个CSS3选择器。它在CSS选择器3级规范中定义为“有效性伪选择器”,这意味着它用于根据用户输入的评估设置交互元素的样式
您可以从以下url获得更清晰的信息
我不知道
$.expr[“:”]
应该做什么,但在我看来,通过添加[“valid”]
您试图访问第一个表达式返回的任何内容的属性“valid”。另外,您的示例末尾有不匹配的大括号。@Peter B:这样做的结果是:valid伪函数的实现,假设存在一个伪函数。这个问题的前提是,所说的实现并不存在,这让提问者感到惊讶。
typeof $.expr[":"]["valid"]
typeof $.expr[":"]["invalid"]