Javascript 确定哪个元素是第一个元素并执行此操作
我需要将焦点设置在第一个表单元素或类“.focus”;以看得见的或最先看到的为准 这似乎并没有对每一个进行排序,以确定哪一个先到 像这样Javascript 确定哪个元素是第一个元素并执行此操作,javascript,jquery,Javascript,Jquery,我需要将焦点设置在第一个表单元素或类“.focus”;以看得见的或最先看到的为准 这似乎并没有对每一个进行排序,以确定哪一个先到 像这样 $('.focus:visible:first, body:not(:has(.focus:visible)) input:visible:first, body:not(:has(.focus:visible)) textarea:visible:first').eq(0).focus(); 小提琴: 等式(0)选择第一个元素…;) 试试看: $('.
$('.focus:visible:first, body:not(:has(.focus:visible)) input:visible:first, body:not(:has(.focus:visible)) textarea:visible:first').eq(0).focus();
小提琴:
等式(0)选择第一个元素…;) 试试看:
$('.focus:visible:first').filter(":input").focus();
我不确定你想达到什么目标,因为课堂上没有任何关注点。只需将类焦点添加到您的输入元素中,然后再添加我们
$('.focus').focus();
这将定位所有可见的输入元素、文本区域元素和。焦点元素:
$('input:visible, .focus:visible, textarea:visible')
它还将根据它们在DOM中的顺序对它们进行排序,因此文档中的第一个元素将是jQuery对象中的第一个元素。要访问第一个:
$('input:visible, .focus:visible, textarea:visible').eq(0);
并将重点放在:
$('input:visible, .focus:visible, textarea:visible').eq(0).focus();
注意,正如我刚刚发现的,如果元素占用文档中的空间,jQuery会认为元素是“可见的”。因此,具有可见性:隐藏
或不透明度:0
的元素仍将被视为可见:
您的小提琴中没有一个元素具有焦点类别。这是有史以来最长的jQuery选择器!它过去比较长;)如果有任何限制搜索的方法,只需给OP一个提示,如果观察到缓慢,这将提高选择器的性能。类似于
$(#container_,带有输入)。例如,查找(…)
。可见是我的第一选择,但由于表单的其他部分位于ajax选项卡中,因此它们是“display:none”,因此可见性将不起作用。@simple我不确定我是否理解您的意思<代码>:可见将排除显示为的元素:无
。这与我已有的结果相同。当textarea是第一个输入时,它关注第二个输入。我需要它关注第一个元素,输入或文本区域。看看小提琴。文本区域是否有类“.focus”?添加它,看看会发生什么。
$('input:visible, .focus:visible, textarea:visible').eq(0).focus();