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

时间:2011-02-15 06:17:41

标签: jquery html

我想在加载页面时使用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的初学者。

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

非常感谢!

2 个答案:

答案 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>