如何在jQuery的focus调用中合并选择input和textarea无效元素
错误原因
你尝试的写法选择器逻辑有误:CSS选择器中逗号分隔的每一条规则都是独立生效的,$("input, textarea:invalid")实际匹配的是「所有<input>元素」+「所有处于无效状态的<textarea>元素」,没有对<input>加:invalid过滤,不符合你的筛选需求。
正确实现
直接给两类元素都加上:invalid筛选即可,单行写法如下:
$("input:invalid, textarea:invalid").first().focus();
这个写法会同时匹配所有处于无效状态的<input>和<textarea>元素,再取第一个匹配结果触发focus,和你原有两行代码的执行效果完全一致。
内容的提问来源于stack exchange,提问作者Olddevman
相关产品推荐
相关产品推荐

