usar - lista de atributos html




¿Cuáles son los valores válidos para el atributo id en HTML? (15)

HTML5

Teniendo en cuenta que la identificación debe ser única, es decir. no debe haber varios elementos en un documento que tengan el mismo valor de id.

Las reglas sobre el contenido de ID en HTML5 son (aparte de ser únicas):

This attribute's value must not contain white spaces. [...] 
Though this restriction has been lifted in HTML 5, 
an ID should start with a letter for compatibility.

Esta es la especificación de W3 sobre ID (desde MDN):

Any string, with the following restrictions:
must be at least one character long
must not contain any space characters
Previous versions of HTML placed greater restrictions on the content of ID values 
(for example, they did not permit ID values to begin with a number).

Más información:

  • W3 - atributos globales ( id )
  • Atributo ( id ) de MDN

Al crear los atributos de id para los elementos HTML, ¿qué reglas existen para el valor?


HTML5:

elimina las restricciones adicionales en el atributo id, vea aquí . Los únicos requisitos que quedan (aparte de ser únicos en el documento) son:

  1. el valor debe contener al menos un carácter (no puede estar vacío)
  2. no puede contener ningún carácter de espacio.

PRE-HTML5:

La identificación debe coincidir:

[A-Za-z][-A-Za-z0-9_:.]*
  1. Debe comenzar con caracteres AZ o az
  2. Puede contener - (guión), _ (guión bajo),: (dos puntos) y . (período)

pero uno debe evitar : y . porque

Por ejemplo, una ID puede ser etiquetada como "ab: c" y referenciada en la hoja de estilo como #ab: c, pero además de ser la identificación del elemento, podría significar id "a", clase "b", pseudo- selector "c". Mejor evitar la confusión y evitar el uso. y: en conjunto.


  1. Los ID son los más adecuados para nombrar partes de su diseño, por lo que no deben dar el mismo nombre para ID y clase
  2. ID permite caracteres alfanuméricos y especiales.
  3. pero evite el uso de # : . * ! # : . * ! simbolos
  4. espacios no permitidos
  5. no comenzó con números o un guión seguido de un dígito
  6. distingue mayúsculas y minúsculas
  7. usar selectores de ID es más rápido que usar selectores de clase
  8. use el guión "-" (el guión bajo "_" también se puede usar, pero no es bueno para seo) para nombres largos de clase de CSS o regla de Id.
  9. Si una regla tiene un selector de ID como selector de clave, no agregue el nombre de etiqueta a la regla. Dado que los ID son únicos, agregar un nombre de etiqueta ralentizaría innecesariamente el proceso de coincidencia.
  10. En HTML5, el atributo id se puede usar en cualquier elemento HTML y en HTML 4.01, el atributo id no se puede usar con: <base>, <head>, <html>, <meta>, <param>, <script>, <style>, and <title>.

Además, nunca olvides que una identificación es única. Una vez utilizado, el valor de ID puede no aparecer nuevamente en ninguna parte del documento.

Puede tener muchas identificaciones, pero todas deben tener un valor único.

Por otro lado, está el elemento clase. Al igual que la identificación, puede aparecer muchas veces, pero el valor puede usarse una y otra vez.


De la especificación de HTML 4 :

Los tokens de ID y NOMBRE deben comenzar con una letra ([A-Za-z]) y pueden ir seguidos de cualquier número de letras, dígitos ([0-9]), guiones ("-"), guiones bajos ("_") , dos puntos (":") y puntos (".").

Un error común es usar una identificación que comienza con un dígito.


De la especificación de HTML 4 ...

Los tokens de ID y NOMBRE deben comenzar con una letra ([A-Za-z]) y pueden ir seguidos de cualquier número de letras, dígitos ([0-9]), guiones ("-"), guiones bajos ("_") , dos puntos (":") y puntos (".").

EDITAR: ¡Oh! ¡Golpeado al botón, otra vez!


En la práctica, muchos sitios usan atributos de id comienzan con números, aunque técnicamente no es un HTML válido.

La especificación de borrador de HTML 5 afloja las reglas de los atributos id y name : ahora son solo cadenas opacas que no pueden contener espacios.


Estrictamente debe coincidir

[A-Za-z][-A-Za-z0-9_:.]*

Pero jquery parece tener problemas con los dos puntos por lo que podría ser mejor evitarlos.


Para HTML 4 , la respuesta es técnicamente:

Los tokens de ID y NOMBRE deben comenzar con una letra ([A-Za-z]) y pueden ir seguidos de cualquier número de letras, dígitos ([0-9]), guiones ("-"), guiones bajos ("_") , dos puntos (":") y puntos (".").

HTML 5 es aún más permisivo, y solo dice que una identificación debe contener al menos un carácter y puede que no contenga ningún espacio.

El atributo id es sensible a mayúsculas y minúsculas en XHTML .

Como un asunto puramente práctico, es posible que desee evitar ciertos caracteres. Los puntos, dos puntos y '#' tienen un significado especial en los selectores de CSS, por lo que tendrá que escapar de esos caracteres usando una barra invertida en CSS o una barra invertida doble en una cadena de selección que se pasa a jQuery . Piense en la frecuencia con la que tendrá que escapar de un personaje en sus hojas de estilo o código antes de volverse loco con puntos y dos puntos en las ID.

Por ejemplo, la declaración HTML <div id="first.name"></div> es válida. Puede seleccionar ese elemento en CSS como #first\.name y en jQuery así: $('#first\\.name'). #first\.name $('#first\\.name'). Pero si olvida la barra invertida, $('#first.name') , tendrá un selector perfectamente válido buscando un elemento con ID first y también con el name clase. Este es un error que es fácil de pasar por alto. Es posible que a la larga sea más feliz eligiendo el first-name identificación (un guión en lugar de un punto), en su lugar.

Puede simplificar sus tareas de desarrollo siguiendo estrictamente una convención de nomenclatura. Por ejemplo, si se limita por completo a los caracteres en minúscula y siempre separa palabras con guiones o guiones bajos (pero no ambos, elija uno y nunca use el otro), entonces tiene un patrón fácil de recordar. Nunca se preguntará "¿fue el primer FirstName o el FirstName ?" porque siempre sabrás que debes escribir el primer nombre. ¿Prefiere la funda de camello? Limítate a eso, sin guiones ni guiones bajos, y siempre, siempre con mayúsculas o minúsculas para el primer carácter, no los mezcles.

Un problema ahora muy oscuro fue que al menos un navegador, Netscape 6, trató incorrectamente los valores de los atributos de identificación como sensibles a las mayúsculas y minúsculas . Eso significaba que si hubiera escrito id="firstName" en su HTML (minúscula 'f') y #FirstName { color: red } en su CSS (mayúscula 'F'), ese navegador defectuoso no habría podido establece el color del elemento en rojo. En el momento de esta edición, abril de 2015, espero que no se te pida que apoyes a Netscape 6. Considera esto como una nota histórica.


Para hacer referencia a una identificación con un punto, debe usar una barra invertida. No estoy seguro de si es lo mismo para guiones o guiones bajos. Por ejemplo: HTML

<div id="maintenance.instrumentNumber">############0218</div>

CSS

#maintenance\.instrumentNumber{word-wrap:break-word;}

Sé que esto es muy tarde para responder a esta pregunta, pero debido a que tuve el mismo problema y esta respuesta me parece más completa, decido responder.

Todos a, b, c ... x, y, z, A, B, C ... X, Y, Z, 0,1,2 ... 7,8,9, -, _ pueden usarse para id, pero no debe usar dígitos y - como primer carácter.

estos son incorrectos

1adfsvsdf   // use number in first
-adfasdf    // use - in first
afd'ksdf    // use ' in characters
asdf;asdf   // use ; in characters

Sin espacios, debe comenzar con al menos un carácter de a a z y de 0 a 9.


Un identificador único para el elemento.

No debe haber varios elementos en un documento que tengan el mismo valor de id.

Cualquier cadena, con las siguientes restricciones:

  1. debe tener al menos un carácter de largo
  2. no debe contener caracteres de espacio:

    • U + 0020 ESPACIO
    • U + 0009 TABULACIÓN DE PERSONAJES (tab)
    • U + 000A LINE FEED (LF)
    • U + 000C FORM ALIMENTACIÓN (FF)
    • U + 000D DEVOLUCIÓN DEL CARRO (CR)

Uso de caracteres, excepto ASCII letters and digits, '_', '-' and '.' puede causar problemas de compatibilidad, ya que no estaban permitidos en HTML 4 . Aunque esta restricción se ha levantado en HTML 5 , una identificación debe comenzar con una letra para compatibilidad.


alfabetos-> gorras y pequeños
dígitos-> 0-9
caracteres especiales-> ':', '-', '_', '.'

el formato debe ser a partir de '.' o un alfabeto, seguido de cualquiera de los caracteres especiales de más alfabetos o números. el valor del campo id no debe terminar en '_'.
Además, los espacios no están permitidos, si se proporcionan, se tratan como valores diferentes, lo que no es válido en el caso de los atributos de identificación.


para HTML5

El valor debe ser único entre todos los ID en el subárbol de inicio del elemento y debe contener al menos un carácter. El valor no debe contener caracteres de espacio.

Al menos un personaje, sin espacios.

Esto abre la puerta a casos de uso válidos, como el uso de caracteres acentuados. También nos da mucha más munición para dispararnos en el pie, ya que ahora puedes usar valores de identificación que causarán problemas con CSS y JavaScript a menos que seas realmente cuidadoso.





html