如何使用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
加载的元素。 将代码置于ready
function中。
jQuery(document).ready(function() { $(":input:visible:first").focus(); });
更新:
正如@David回答和评论中所见,他是对的。
$(document).ready(function(){ $("select:first").focus(); });
但你还没有正确地包含jquery(如评论中所示)。 你错过了在脚本src
之前插入http 。