从给定的id中选择特定的元素并设置焦点.优化的方法

jQuery: Select particular element from given id and set focus on it. Optimized way

本文关键字:设置 焦点 优化 元素 方法 选择 id      更新时间:2023-09-26

在许多地方,我必须将焦点设置在可见的字段上,并且我可以根据不同的场景设置多个可见字段。例如:

<input id="A">
<input id="B">

情况是这两个输入中的任何一个都可以可见,我必须将焦点设置在它上面。

我现在正在做什么:

if ($('#A').is(":visible")) {
    $('#A').focus();
} else if ($('#B').is(":visible")) {
    $('#B').focus();
}

我觉得可以有更好的优化方法来做这件事。我想去掉if else if语句

建议吗?

您可以使用:visible选择器和first()如下

$('#A:visible, #B:visible').first().focus();

$('#A:visible, #B:visible')将选择具有id AB并且当前可见的元素,因此基本上只选择/过滤具有给定id的可见元素。

first将从匹配集合

中获取第一个元素

focus将元素设置为焦点

也许是这个?

$('#A, #B').filter(':visible').first().focus();

您可以像这样链接功能:

$('#A, #B').filter(':visible').focus()