2012-08-02 5 views
8

estaba navegando por un sitio y encontraron esta línea de código:¿Por qué hay barras en esta identificación div?

<div class="section slideshow" id="/featured/"> 

nunca he visto barras en una etiqueta de identificación antes, es esta pobre codificación, un problema por escrito a cabo por la base de datos, o alguna otra cosa?

+1

Esto no sería válido antes de HTML 5, pero ahora sí. La identificación podría generarse a partir de una ubicación de estilo XPATH que garantizaría la singularidad pero es pura adivinanza. – detaylor

+0

simplemente visite [W3C] (http://www.w3.org/TR/html401/types.html#h-6.2) para más detalles ... –

+0

@Doc Estas son las especificaciones html4.01 y no son aplicables en html5 donde [estas restricciones se han eliminado] (http://www.w3.org/TR/2011/WD-html5-20110525/elements.html#the-id-attribute). – Christoph

Respuesta

4

barras inclinadas en un atributo id no es un carácter válido:

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

+0

¡No es cierto para html5! ['El valor debe ser único entre todos los ID del subárbol de inicio del elemento y debe contener al menos un carácter. El valor no debe contener ningún carácter de espacio.]] (Http://www.w3.org/TR/2011/WD-html5-20110525/elements.html # the-id-attribute) – Christoph

+0

Aún valida correctamente al usar ? Sé que no es un personaje válido como se dijo. Aunque pensé que solo mencionaría que validar correctamente. Para qué propósito por qué esto sería utilizado, no lo sé. Cheers –

+0

¡El personaje es válido! Las restricciones de html4.01 se han eliminado en 5. – Christoph

3

Tal vez de usar directamente en una URL y/o con javascript ...

-1

cheque el siguiente programa, id es sólo para referirse esa etiqueta en particular, no es necesariamente Nedd estar en un formato particular,

<html> 
<head> 
<script type="text/javascript"> 
function displayResult() 
{ 
document.getElementById("/myHeader/").innerHTML="Have a nice day!"; 
} 
</script> 
</head> 

<body> 
<h1 id="/myHeader/">Hello World!</h1> 
<button onclick="displayResult()">Change text</button> 
</body> 

</html> 

el programa anterior le dará una mejor comprensión

+0

Pregunta sobre el uso de Slash (/) no sobre el atributo de identificación – Prabhavith

1

hay mucha razón para que un proceso de este tipo, incluso si resulta que esto no es común, el desarrollador tiene la opción de designar a esta clase y nombre Identificación:

Tal vez utilizar este método para diferenciar el Id mismo nombre sin barras,

Tal vez utilizar este método para insertar este id de una cadena para

  • inserción a la base de datos.
  • vaya a una url.
  • otra codificación de justificar ...

Tal vez es sólo un CMS o la nomenclatura del marco ...

La misma solución es ponerse en contacto con el creador del sitio web para hacer esta pregunta ...

Pero, si usted quiere más información, visite el sitio web ... W3C namming Nomenclature

2

Tal vez utilice este método para inserción a la base de datos (id inserción en una cadena) o vaya a una url.

Slashe no es un carácter válido para identificación en HTML 4.01 pero su validez en html5.

para HTML 4.01

ID y NAME tokens debe comenzar con una letra ([A-Za-z]) y puede ser seguido de cualquier número de letras, dígitos ([0- 9]), guiones ("-"), guiones bajos ("_"), dos puntos (":") y puntos (".").

Referencia:What are valid values for the id attribute in HTML?

http://www.w3.org/TR/html5/global-attributes.html#the-id-attribute

+0

. ¿Hace referencia a la especificación html5 pero cita la especificación 4.01? Lea de nuevo en las especificaciones html5: las barras son caracteres válidos – Christoph

+0

La declaración es correcta pero no aborda la pregunta "por qué". –

-1

HTML5 permite que casi cualquier valor para el atributo id - uso sabiamente

HTML 4.01 es bastante restrictiva en cuanto a lo que se permiten valores de ID atributos: Los tokens de ID y NAME deben comenzar con una letra ([A-Za-z]) y pueden ser seguidos por cualquier número de letras, dígitos ([0-9]), guiones ("-"), guiones bajos ("_"), dos puntos (":") y puntos (".").

http://www.456bereastreet.com/archive/201011/html5_allows_almost_any_value_for_the_id_attribute_use_wisely/

-1

los atributos de un elemento se expresan dentro de la etiqueta inicial del elemento. Los atributos tienen un nombre y un valor.

Nunca debe haber dos o más atributos en la misma etiqueta de inicio cuyos nombres no coinciden entre mayúsculas y minúsculas entre sí.

La siguiente lista describe las reglas de sintaxis para los atributos en los documentos en la sintaxis HTML. Reglas de sintaxis para atributos en documentos en la sintaxis XML. se definen en la especificación XML [XML].

Los nombres de atributo deben constar de uno o más caracteres distintos de los caracteres espaciales, U + 0000 NULL, "" "," '","> ","/"," = ", los caracteres de control y caracteres que no están definidos por Unicode. Los nombres de atributos compatibles con XML son los que coinciden con la producción de nombre definida en la especificación XML [XML] y que no contienen caracteres ":" y cuyos tres primeros caracteres no coinciden con mayúsculas y minúsculas para la cadena "xml". Los valores de atributo pueden contener referencias de texto y caracteres, con restricciones adicionales según si son valores de atributo sin comillas, valores de atributo de comillas simples o valores de atributo de comillas dobles. la referencia describe restricciones adicionales sobre los valores permitidos de atributos particulares, y los atributos deben tener valores que t cumplir con esas restricciones.

Para más información ver http://dev.w3.org/html5/markup/syntax.html#syntax-attributes

0

envié el sitio y el propietario respondió.

El sitio es HTML4/ASPX y usa esa variable cortada cuando JavaScript lo llama para mostrar una presentación de diapositivas.

No parecía importarle que no fuera válido, pero funcionaba bien en todos los navegadores.

Cuestiones relacionadas