我们遇到一个问题,当我们打开模态窗口时,我们试图将焦点设置到模态中第一个非隐藏类型的输入元素。这是我们正在尝试的:
$("#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/