name atributos - ¿Cuáles son los valores válidos para el atributo id en HTML?




11 Answers

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.

lista de html5

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




jQuery maneja cualquier nombre de ID válido. Solo necesita escapar de los metacaracteres (es decir, puntos, punto y coma, corchetes ...). Es como decir que JavaScript tiene un problema con comillas solo porque no puedes escribir

var name = 'O'Hara';

Selectores en jQuery API (ver nota inferior)




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.




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.




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



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!




Parece que aunque los dos puntos (:) y los puntos (.) Son válidos en la especificación HTML, no son válidos como selectores de identificación en CSS por lo que probablemente sea mejor evitarlos si pretende usarlos para ese propósito.




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.




Cualquier valor alfanumérico y " - " y " _ " son válidos. Pero, debes comenzar el nombre de identificación con cualquier carácter entre AZ o az .




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



En HTML5, una identificación no puede comenzar con un número, por ejemplo, id- "1kid" y no pueden tener espacios (id = "Some kind" )




Related


Tags

html