Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 确定哪个元素是第一个元素并执行此操作_Javascript_Jquery - Fatal编程技术网

Javascript 确定哪个元素是第一个元素并执行此操作

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”;以看得见的或最先看到的为准

这似乎并没有对每一个进行排序,以确定哪一个先到

像这样

$('.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();