在 jQuery 3.2.1 中,调用以下表达式会返回 "undefined"
(对于两者):
typeof $.expr[":"]["valid"]
typeof $.expr[":"]["invalid"]
但是,可以调用
$(":valid")
或 $(":invalid")
并且在下面的示例中,这些选择器似乎返回具有有效或无效值的输入。documentation 中没有提到这些选择器的存在。
请检查此 example 以进行澄清。
:valid
和 :invalid
选择器是在哪里定义的吗? 最佳答案
jQuery 不包含它自己的 :valid
和 :invalid
选择器的实现。这些选择器在 jQuery 中通过 document.querySelectorAll()
通过浏览器的 native 标准实现工作。
这也意味着 $(":valid")
和 $(":invalid")
在不支持这些选择器的浏览器中不起作用,例如 Internet Explorer 8(顺便说一句,唯一实现 querySelectorAll()
的浏览器)和更早版本。
关于javascript - :valid and :invalid selectors in jQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46704270/