javascript - llamar - que es un atributo en html
¿Puedo simplemente crear atributos en mis etiquetas HTML? (4)
¿Puedo agregar los atributos que quiera a las etiquetas HTML para que pueda recuperar su valor más tarde utilizando javascript? Por ejemplo:
<a href="something.html" hastooltip="yes" tipcolour="yellow">...</a>
Si eso no va a funcionar, ¿cómo almacenarías información arbitraria como esta?
Editar: dado que parece que crear atributos HTML no es técnicamente válido, he reformulado la segunda parte de esta pregunta en su propia pregunta aquí: Cómo almacenar datos arbitrarios para algunas etiquetas HTML
Bueno, siempre puedes crear tu propia DTD para obtener nuevos atributos válidos para tus etiquetas. El navegador no tendrá problemas, debe probar su JavaScript si puede acceder a estos atributos personalizados. O puede usar las instalaciones existentes provistas por HTML y CSS. Puedes usar múltiples clases como
<a href="..." class="class-one class-two has-tooltip">
Para la selección del color, desaconsejo encarecidamente que use nombres de colores codificados en su HTML, tiene CSS para declarar estilos. Utilice el atributo de clase como un gancho para la declaración de CSS, y elija nombres de clase semánticos , por ejemplo
HTML:
<a href="..." class="has-tooltip common-tooltip">
<a href="..." class="has-tooltip long-tooltip">
CSS:
a.has-tooltip {
colour: red;
}
a.common-tooltip {
background: #ddd;
}
a.long-tooltip {
background: #ebf;
}
Y en su código JavaScript puede generar elementos con clases como "información sobre herramientas largas" y "información sobre herramientas comunes" en lugar de "información sobre herramientas amarillas", para que no se contradiga a sí mismo en caso de rediseñar la página para tener información sobre herramientas verde.
Dependiendo de la información que desee almacenar, debe ver algunos de los otros atributos disponibles. Estos no parecen buenos candidatos, pero ''rel'' se ha usado para muchas cosas interesantes.
Usted puede. La página no pasará la verificación, sin embargo la mayoría de los navegadores lo aceptarán.
Es casi seguro que es la forma incorrecta de hacerlo. Intenta usar class = "hasTooltip_yes tipcolour_yellow"
En HTML5, sí. Solo tienes que ponerles un prefijo con data-
. Ver la especificación
Por supuesto, esto implica que debe utilizar el doctype HTML5 ( <!doctype html>
), aunque a los navegadores no les importe.