43 votes

Puis-je créer des attributs sur mes balises HTML?

Suis-je autorisé à ajouter des attributs, je veux les balises HTML que je peux récupérer leur valeur plus tard sur l'utilisation de javascript? Par exemple:

<a href="something.html" hastooltip="yes" tipcolour="yellow">...</a>

Si cela ne va pas au travail, comment voulez-vous stocker arbitraire des éléments d'information comme cela?

Edit: étant donné qu'il semble que de faire de la place attributs HTML n'est pas techniquement valide, j'ai reformulé la deuxième partie de cette question dans sa propre question ici: http://stackoverflow.com/questions/432174/

46voto

Ms2ger Points 7551

En HTML5, oui. Il vous suffit de les préfixer avec data- . Voir les spec .

Bien sûr, cela implique que vous utilisiez le type de document HTML5 ( <!doctype html> ), même si les navigateurs ne s’y intéressent pas.

24voto

bandi Points 2426

Eh bien, vous pouvez toujours créer votre propre DTD pour obtenir de nouveaux attributs valides de vos tags. Navigateur n'est pas le hoquet, vous devez tester votre JavaScript si vous pouvez accéder à ces attributs personnalisés. Ou vous pouvez utiliser les installations existantes prévues par le code HTML et CSS. Vous pouvez utiliser plusieurs classes comme

<a href="..." class="class-one class-two has-tooltip">

Pour le choix de la couleur je vous déconseillons fortement d'utiliser codée en dur des noms de couleurs dans votre code HTML, vous avez CSS pour déclarer les styles. Utilisation de l'attribut de classe comme un crochet pour le CSS déclaration, et choisir sémantique des noms de classe, par exemple

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;
}

Et dans votre code JavaScript, vous pouvez générer des éléments avec des classes comme "long-tooltip" et "common-info-bulle" au lieu de "jaune-info-bulle", de sorte que vous ne serez pas en contradiction avec vous-même dans le cas de la refonte de la page " vert info-bulles.

4voto

Richard Harrison Points 14891

Vous pouvez. La page ne passera pas la vérification, mais la plupart des navigateurs l’accepteront.

C'est presque certainement la mauvaise façon de le faire. Essayez d'utiliser class = "hasTooltip_yes tipcolour_yellow"

2voto

Kevin Davis Points 1470

En fonction des informations que vous souhaitez stocker, vous devriez examiner certains des autres attributs disponibles. Celles-ci ne ressemblent pas à de bons candidats, mais «rel» a été utilisé pour beaucoup de choses intéressantes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X