I tried

$(":input:not(input[type=button],input[type=submit],button):visible:first")

但它什么也没找到.

What is my mistake?

UPD: I execute this on $(document).load()

<script type="text/javascript">
$(window).load(function () {
  var aspForm  = $("form#aspnetForm");
  var firstInput = $(":input:not(input[type=button],input[type=submit],button):visible:first", aspForm);
  firstInput.focus();
});
</script>

and in the debug I can see that firstInput is empty.

UPD2:

到目前为止,我已经发现,对于某些元素,它确实可以找到它们(对于固定的元素),而对于某些元素,则不能:(

推荐答案

Why not just target the ones you want (demo)?

$('form').find('input[type=text],textarea,select').filter(':visible:first');

Edit

或者使用jQuery:input Select 器来形成子代.

$('form').find('*').filter(':input:visible:first');

Jquery相关问答推荐

jQuery .val() 和 .attr('value') 有什么区别?

使用淡入淡出和追加

在 jQuery 中构建 html 元素的最清晰方法

[本机代码]是什么意思?

如何在 jQuery 中获取浏览器滚动位置?

如何使用 jQuery 搜索 JSON 树

组合数组时无法读取未定义的属性推送

如何使用 JQuery 发布 JSON 数据?

调整浏览器大小时调整jqGrid的大小?

scrollIntoView 是否适用于所有浏览器?

ajax调用后jQuery点击功能不起作用?

如何使用 jQuery 进行带命名空间的 XML 解析

使用 jquery/ajax 刷新/重新加载 Div 中的内容

使用 jquery 在 radio 上单击或更改事件

如何从 jQuery UI datepicker 获取日期

更改 Eclipse 设置以忽略特定文件上的错误

使用中键触发 onclick 事件

如何使用 jQuery 的 form.serialize 但排除空字段

如何使用 jQuery 处理复选框的更改?

使用 jQuery 将一个标签替换为另一个标签