¿Existe una práctica estandarizada para ordenar atributos en etiquetas HTML?


13

Estoy trabajando en un proyecto AngularJS y los atributos son numerosos en muchos de mis elementos HTML:

  <button type="submit" 
          ng-click="Page.UI.DetailView.ExecuteFunction()" 
          ng-disabled="step5.$invalid" 
          class="btn btn-success pull-right">
      Submit this Product
  </button>

¿Existe una convención estandarizada para el orden de estos atributos? ¿Alfabético? ¿Agrupado por significado (por ejemplo, todos los atributos angulares juntos)? ¿Atributos HTML estándar ("tipo" por ejemplo) primero?


66
No, no hay un estándar. W3C dice que el orden de los atributos no importa. Encuentre algunos ejemplos de código angular en algún lugar de Internet o en un libro angular, y siga cualquier convención que hayan establecido allí; lo más probable es que esté cerca de "correcto", si no es realmente "correcto".
Robert Harvey

No lo creo. Pero si miras el dom en la consola, está ordenado alfabéticamente.
Abel D

1
Además, puede encontrar muchos consejos buscando en Google "Ordenar atributos en etiquetas HTML".
Robert Harvey

Gracias AbelD y @RobertHarvey. De hecho, estoy encontrando muchas opiniones a través de Google, pero esperaba que haya un enfoque más estándar. Gracias de nuevo.
Matt Cashatt

1
@AbelD El orden alfabético de los atributos HTML suena como la peor idea para un desarrollador.
Alternatex

Respuestas:


13

No hay un estándar. Optimice para facilitar la comprensión e intente ser coherente.

Personalmente, creo que también es bueno poner siempre el idatributo primero, para que sea más fácil para los evaluadores encontrarlo.


3
Creo que lo más importante es ser conciso. Si trabaja en un equipo, asegúrese de seguir el mismo patrón por el motivo antes mencionado. Me tienden a pegarse a type, id/ for, name, class. Si estoy usando angular, todos los ng-atributos irán primero. Todo depende de las preferencias personales.
die maus
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.