我有一些向导选项卡,每个选项卡都包含表单元素。我想关注每个选项卡的第一个表单元素。我如何只保留可见元素的焦点。 EG:当我导航到下一个选项卡表单时,我不想让我的第一个隐藏选项卡集中。将注意力集中在每个选项卡的第一个输入
http://jsfiddle.net/infatti/kdWT8/
这似乎并没有工作?
$('.focus:first:not(:hidden)').focus();
我有一些向导选项卡,每个选项卡都包含表单元素。我想关注每个选项卡的第一个表单元素。我如何只保留可见元素的焦点。 EG:当我导航到下一个选项卡表单时,我不想让我的第一个隐藏选项卡集中。将注意力集中在每个选项卡的第一个输入
http://jsfiddle.net/infatti/kdWT8/
这似乎并没有工作?
$('.focus:first:not(:hidden)').focus();
你做的其他方式:
$('.focus:not(:hidden):first').focus();
现在你得到的第一个元素与类.focus
,这当然是隐藏的,那么你只可见元素过滤,并没有给你留下任何东西?
您需要获取可见元素,然后获取第一个元素。
这里做的另一种方式:
$(document).find('.focus').filter(':visible').eq(0).focus();
随着Fiddle
我觉得链比嘶嘶选择更具可读性;在这里它读取“找到所有具有班级焦点的元素,只筛选那些可见的元素,拿第一个元素并给予焦点”