我想在加载页面时使用JQuery将焦点设置在页面的第一个元素上。 我可以使用
成功设置第一个元素的焦点$(":input:visible:first").focus();
或
$(':input:enabled:visible:first').focus();
根据jquery, set focus on the first enabled input or select or textarea on the page。
我尝试使用以下任何一种方法:
$('select:first').focus();
$("select").first().focus();
$(':visible:first').focus();
$('enabled:visible:first').focus();
或我能想到的其他变化,但没有成功。
有人可以帮我解决这个问题吗? 我是JQuery的初学者。
我希望此功能适用于所有主流浏览器。
非常感谢!
答案 0 :(得分:9)
问题很可能是您在加载DOM后没有运行代码。试试这个:
$(document).ready(function(){
$("select:first").focus();
});
这应该有效。
编辑:您可以使用以下方法简化代码:
$(function(){
$("select:first").focus();
})
如果你这样使用它,jQuery将在文档的DOM准备就绪时触发该函数。
答案 1 :(得分:2)
您正在调用DOM
中未加载的元素。将代码放在ready
函数中。
<击> 撞击>
jQuery(document).ready(function() {
$(":input:visible:first").focus();
});
击> <击> 撞击>
<强>更新强>
如@David回答和评论中所见,他是对的。
$(document).ready(function(){
$("select:first").focus();
});
但是您没有正确地包含jquery(如评论中所示)。您错过了在脚本src
之前插入 http 。
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>