En general, se supone que el nombre siempre es reemplazado por id . Esto es cierto, hasta cierto punto, pero no para campos de formulario y nombres de cuadros , prácticamente hablando. Por ejemplo, con elementos de formulario, el name
atributo se usa para determinar los pares de nombre-valor que se enviarán a un programa del lado del servidor y no debe eliminarse. Browsers do not use id in that manner
. Para estar seguro, puede usar los atributos de nombre e identificación en los elementos del formulario. Entonces, escribiríamos lo siguiente:
<form id="myForm" name="myForm">
<input type="text" id="userName" name="userName" />
</form>
Para garantizar la compatibilidad, es una buena idea tener valores de atributo de nombre e id coincidentes cuando ambos están definidos. Sin embargo, tenga cuidado: algunas etiquetas, en particular los botones de opción, deben tener valores de nombre no únicos, pero requieren valores de identificación únicos. Una vez más, esto debería hacer referencia a que id no es simplemente un reemplazo de nombre; Son diferentes en propósito. Además, no descarte el enfoque de estilo antiguo, una mirada profunda a las bibliotecas modernas muestra tal estilo de sintaxis utilizado a veces para fines de rendimiento y facilidad. Su objetivo siempre debe ser a favor de la compatibilidad.
Ahora en la mayoría de los elementos, el atributo de nombre ha quedado en desuso en favor del atributo de identificación más omnipresente. Sin embargo, en algunos casos, sobre todo los campos de formulario ( <button>
, <input>
, <select>
, y <textarea>
), la vida en nombre de atributo, ya que sigue siendo necesaria para establecer el par nombre-valor para el envío del formulario. Además, descubrimos que algunos elementos, especialmente los marcos y los enlaces, pueden seguir usando el atributo de nombre porque a menudo es útil para recuperar estos elementos por nombre.
Hay una clara distinción entre id y nombre. Muy a menudo, cuando el nombre continúa, podemos establecer los valores de la misma manera. Sin embargo, la identificación debe ser única, y el nombre en algunos casos no debería, piense en los botones de opción. Lamentablemente, la unicidad de los valores de identificación, aunque se detecta mediante la validación de marcado, no es tan consistente como debería ser. La implementación de CSS en los navegadores dará estilo a los objetos que comparten un valor de identificación; por lo tanto, es posible que no detectemos errores de marcado o de estilo que puedan afectar nuestro JavaScript hasta el tiempo de ejecución.
Esto está tomado del libro JavaScript- The Complete Reference by Thomas-Powell