2009-09-02 10 views
0

Est-il possible d'utiliser des "attributions définies par l'utilisateur" dans les balises html/xhtml? Cordialement.Attribut utilisateur xhtml

+0

Que avez-vous besoin pour que? – Gumbo

+0

Cela dépend de ce que vous voulez dire par "les utiliser". – n1313

+0

Salut, J'ai besoin de mon application pour définir des données spéciales pour une utilisation ultérieure. –

Répondre

0

Je ne pense pas que vous pouvez vraiment définir/utiliser des "attributs personnalisés" - et, même si vous pouviez: comment les navigateurs sauraient quoi faire avec ceux-ci?

Vous pouvez probablement injecter ce que vous voulez dans le document "XHTML"; mais il ne sera plus XHTML valide, je dirais

+0

Salut, J'ai besoin de mon utilisation ultérieure. Merci. –

6

En HTML comme tel quel? No.

En XHTML? Kinda. Vous devez les mettre dans leur propre espace de noms et pas servir le document en tant que texte/html (qui exclut plutôt Internet Explorer)

En HTML 5? Le brouillon actuel prend en charge les attributs définis par l'auteur à condition qu'ils portent le préfixe data- et soient utilisés uniquement en interne.

0

Utilisez Javascript et définissez l'attribut après le chargement. De cette façon, vous avez toujours un code HTML valide.

Si vous souhaitez conserver les données d'un attribut, consultez les bibliothèques javascript telles que jQuery. Ce qui ajoute une méthode données():

$("div").data("test", { first: 16, last: "pizza!" }); 
$("span:first").text($("div").data("test").first); 
$("span:last").text($("div").data("test").last); 
+0

Merci ... C'est une information très utile pour moi. J'utilise déjà JQuery mais je ne le connais pas très bien. Merci beaucoup ... Cordialement. –

1

Je ne sais pas si elle est dans les spécifications, mais oui, vous pouvez le faire en HTML et XHTML et tous les navigateurs comprendrai parfaitement cela. Par exemple:

<html> 
<head> 
<script> 
window.onload=function() { 
    alert(document.getElementById("data").getAttribute("somenamespace:somevariable")); 
}; 
</script> 
</head> 
<body> 
<div id="data" somenamespace:somevariable="hello world" /> 
</body> 
</html> 

Ce code fonctionne parfaitement dans tous les navigateurs, y compris IE5.5

+0

Merci beaucoup ... Cordialement. –

+0

Est-il possible d'utiliser sans somenamespace: ... par exemple comme div id = "data" var = "hello world" />? Cordialement. –

+0

Oui, vous pouvez. Cependant, je recommanderais d'utiliser des espaces de noms (vous pouvez l'appeler comme bon vous semble) pour séparer vos propriétés des propriétés standard et/ou de certaines propriétés de bibliothèque supplémentaires. Il sera plus facile à l'avenir de déterminer ce qui appartient à si tout a des espaces de noms appropriés. Par exemple, si votre bibliothèque change de couleur sur les formulaires, vous pouvez appeler les attributs "colorfactory: redness = 5" – bezmax