如何使用JQuery将焦点设置在页面的第一个元素上?

我想在加载页面时使用JQuery将焦点设置在页面的第一个元素上。 我可以通过使用成功设置第一个元素的焦点

$(":input:visible:first").focus(); 

要么

 $(':input:enabled:visible:first').focus(); 

根据jquery,将焦点设置在页面上的第一个启用输入或select或textarea 。

我尝试使用以下任何一个:

 $('select:first').focus(); $("select").first().focus(); $(':visible:first').focus(); $('enabled:visible:first').focus(); 

或者我能想到的其他变化,但没有成功。

任何人都可以帮我解决这个问题吗? 我是JQuery的初学者。

我希望此function适用于所有主流浏览器。

非常感谢你!

问题很可能是您在加载DOM后没有运行代码。 试试这个:

 $(document).ready(function(){ $("select:first").focus(); }); 

这应该工作。

编辑:你可以使用这个简化代码:

 $(function(){ $("select:first").focus(); }) 

如果你这样使用它,jQuery将在文档的DOM准备好时触发该函数。

您正在调用未在DOM加载的元素。 将代码置于readyfunction中。

 jQuery(document).ready(function() { $(":input:visible:first").focus(); }); 

更新:

正如@David回答和评论中所见,他是对的。

 $(document).ready(function(){ $("select:first").focus(); }); 

但你还没有正确地包含jquery(如评论中所示)。 你错过了在脚本src之前插入http