Czy istnieje standardowa praktyka zamawiania atrybutów w tagach HTML?


13

Pracuję nad projektem AngularJS, a atrybuty są liczne w wielu moich elementach HTML:

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

Czy istnieje ustandaryzowana konwencja dotycząca kolejności tych atrybutów? Alfabetyczny? Zgrupowane według znaczenia (np. Wszystkie atrybuty kątowe razem)? Standardowe atrybuty HTML (na przykład „typ”)?


6
Nie, nie ma standardu. W3C mówi, że kolejność atrybutów nie ma znaczenia. Znajdź przykłady kodu Angular gdzieś w Internecie lub w książce Angular i postępuj zgodnie z ustaloną tam konwencją; istnieje szansa, że ​​jest to „poprawne”, jeśli nie „poprawne”.
Robert Harvey,

Nie sądzę. Ale jeśli spojrzysz na dom w konsoli, jest on uporządkowany alfabetycznie.
Abel D,

1
Ponadto można znaleźć mnóstwo porad w Google „Zamawianie atrybutów w tagach HTML”.
Robert Harvey,

Dzięki AbelD i @RobertHarvey. Rzeczywiście znajduję mnóstwo opinii za pośrednictwem Google, ale miałem nadzieję, że istnieje bardziej standardowe podejście. Dzięki jeszcze raz.
Matt Cashatt,

1
@AbelD Alfabetyczne porządkowanie atrybutów HTML wydaje się najgorszym pomysłem dla programisty.
Alternatex,

Odpowiedzi:


13

Nie ma standardu. Zoptymalizuj, aby ułatwić zrozumienie i staraj się zachować spójność.

Osobiście uważam, że dobrze jest zawsze umieszczać idatrybut na pierwszym miejscu, aby testerom łatwiej go znaleźć.


3
Uważam, że najważniejsze jest zwięzłość. Jeśli pracujesz w zespole, upewnij się, że postępujesz według tego samego wzoru z wyżej wymienionego powodu. Staram się trzymać type, id/ for, name, class. Jeśli używam kątowej, wszystkie ng-atrybuty pójdą pierwsze. To zależy od osobistych preferencji.
die maus
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.