Jquery #id focus() 显示 none id

Jquery #id focus() display none id

我正在使用 Jquery 在页面加载时聚焦输入,此输入在两个 div 中重复,但一个被 "display:none" 隐藏。 如果我更改隐藏的 id,它会起作用,所以我猜 "display:none" 不会排除输入。 你有什么建议?谢谢!!!

$(document).ready(function() {
  focusMainEntry();
});

function focusMainEntry() {
  $('#codbar').focus();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<div id="inputsPedido" style="display:none;">
  <form action="insert_stock.php" method="post" name="formulario_carga" class="form-signin">
    ...
    <input type="text" id="codbar" name="codbar" class="form-control" placeholder="Código de barra" style='width:180px;' />...
  </form>
</div>
<div id="inputsPedidoVencimientoLote">
  <form action="insert_stockTEST.php" method="post" name="formulario_carga" class="form-signin">
    ...
    <input type="text" id="codbar" name="codbar" class="form-control" placeholder="Código de barra" style='width:180px;' />...
  </form>
</div>

id 应该是唯一的。当您使用 $('#codbar').focus(); 聚焦 ID 为 codbar 的元素时,第一个具有 ID 的元素被选中(隐藏)。将其用作 class.

使用 autofocus 属性。

<input type="text" id="codbar" name="codbar" placeholder="Código de barra" autofocus />