ejemplo - HTML5: ¿es autofocus="autofocus" o autofocus?
input focus javascript (3)
Me parece recordar la mayoría (tal vez todos) los atributos en versiones anteriores de HTML (antes de HTML5) requerían atributos para tener valores, como readonly="readonly"
.
¿Es esto cierto para HTML5 y el atributo de autofocus
?
Citando las especificaciones HTML5 y expandiendo un poco en Pekka:
http://www.w3.org/TR/html5/forms.html#autofocusing-a-form-control:-the-autofocus-attribute :
El atributo de enfoque automático es un atributo booleano.
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
La presencia de un atributo booleano en un elemento representa el valor verdadero, y la ausencia del atributo representa el valor falso.
Si el atributo está presente, su valor debe ser la cadena vacía o un valor que es una coincidencia ASCII insensible a mayúsculas y minúsculas para el nombre canónico del atributo, sin espacios en blanco iniciales o finales.
Conclusión
Los siguientes son válidos, equivalentes y verdaderos :
<input type="text" autofocus />
<input type="text" autofocus="" />
<input type="text" autofocus="autofocus" />
<input type="text" autofocus="AuToFoCuS" />
Los siguientes son inválidos :
<input type="text" autofocus="0" />
<input type="text" autofocus="1" />
<input type="text" autofocus="false" />
<input type="text" autofocus="true" />
La ausencia del atributo es la única sintaxis válida para falso :
<input type="text"/>
Recomendación
Si le importa escribir XHTML válido, use autofocus="autofocus"
, ya que <input autofocus>
no es válido y otras alternativas son menos legibles. De lo contrario, simplemente use <input autofocus>
porque es más corto.
En HTML, usa atributos booleanos con o sin los valores que desee. Un booleano, para W3C, como autofocus se puede escribir como ese autofocus
o autofocus="autofocus"
o también autofocus=""
.
Si no quieres el autofocus, no lo escribas.
Creo que está confundido porque XHTML requiere valores para todos los atributos: attributes="values"
.
Aquí hay información sobre el uso de atributos booleanos en HTML: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute
No , es suficiente para especificar el atributo en sí. Fue de esa manera también en HTML 4 .
Una serie de atributos son atributos booleanos . La presencia de un atributo booleano en un elemento representa el valor verdadero, y la ausencia del atributo representa el valor falso.
Si el atributo está presente, su valor debe ser la cadena vacía o un valor que es una coincidencia ASCII insensible a mayúsculas y minúsculas para el nombre canónico del atributo, sin espacios en blanco iniciales o finales.
Ejemplo:
<label><input type=checkbox checked name=cheese disabled> Cheese</label>