2012-06-21 27 views
5

我们遇到了一个问题,当我们打开一个模式窗口时,我们试图将焦点设置为非隐藏类型的第一个输入元素。这里是我们正在努力:jquery .focus不适用于输入:第一个

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

然而,这个电话的工作原理:

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

输入字段loginInput的ID。

有什么想法?

+0

jsFiddle的概念脚本简单证明请。 – epascarello

回答

3

问题出在jQuery解释选择器的优先顺序。请尝试以下操作:

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

这有没有使用:first和因为他们是用这些不能利用由本地DOM querySelectorAll提供的性能提升jQuery的具体查询属性不等于选择的好处() 方法。

+0

这是工作。非常感谢! :) – NunuJ

+0

这是工作正常与Firefox和铬,但不与IE浏览器。有什么想法吗? – NunuJ

+0

@NunuJ以上在IE中应该没问题。文档准备就绪时调用代码吗? –

相关问题