javascript - jquery .focus 不适用于输入 :first

标签 javascript jquery

我们遇到一个问题,当我们打开模态窗口时,我们试图将焦点设置到模态中第一个非隐藏类型的输入元素。这是我们正在尝试的:

$("#test-overlay input[type!=hidden]:first").focus();

但是,这个调用有效:

$("#test-overlay #loginInput").focus();

输入字段的 ID 为 loginInput。

有什么想法吗?

最佳答案

问题是由于 jQuery 解释选择器的优先顺序。尝试以下操作:

$('#test-overlay input').not('[type=hidden]').first().focus();

这具有不使用 :first 和属性不等于选择器的额外好处,因为它们是特定于 jQuery 的,使用这些的查询无法利用 native DOM querySelectorAll 提供的性能提升() 方法。

关于javascript - jquery .focus 不适用于输入 :first,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11141525/

相关文章:

javascript - AngularJS 从 JSON 本地文件获取数据

Jquery:停止传播?

javascript - Odoo:JSON:继承 View ,有条件地隐藏编辑按钮

javascript - 时刻时区,设置默认时区

javascript - res.send 未返回预期数据 : JavaScript, Express、Node?

javascript - MS Edge 有一个 window.chrome 对象??打破浏览器检测

javascript - 将本地模块导入为带有子组件的组件

javascript - 逐行读取文本文件并使用数据进行输入

jquery - Blueimp Jquery-File-Upload 通过 IE 9 在 MVC Controller 中提交空文件

css - 如何将滚动条更改为自定义设计? (避免使用默认浏览器外观)