我有一个包含多种形式的 HTML 文件。我正在尝试将第二个表单的第一个元素集中在加载的页面上。我在 HTML 的末尾添加了 jquery 代码以聚焦表单的第一个输入:
<script>
$("form[id=form2]").find("input[type!=hidden]:first").focus();
</script>
如果第二个表单的第一个元素是文本输入,它工作得很好,但如果它的下拉列表或复选框,它就不起作用。我怎样才能将焦点放在任何第一个元素上?
编辑:我需要在表单选择器中使用 ID,因为表单 ID 可以是可变的。
最佳答案
$("form:eq(1) :input[type!='hidden']").first().focus();
不要使用带有 ID 的属性选择器,只使用 ID 选择器要快得多。
您可以使用 :input
选择器,它会选择所有输入元素,例如 input、textarea、select 和 button。
然后使用 :first
或 first()
获取第一个。
编辑:根据评论,ID 不是常量,因此使用 tagName 和 :eq()
您可以选择第二种形式,作为 :eq()
是从零开始的,第二个是 1
关于javascript - jquery focus() 只关注第一个文本输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25206242/