2013-08-08 1 views
12

Je stocke certaines données personnalisées dans l'attribut de données HTML5 pour le traitement Jquery. L'attribut de données personnalisées sera-t-il disponible dans les anciens navigateurs?L'attribut de données HTML 5 sera-t-il pris en charge dans les anciens navigateurs?

+0

un coup d'oeil à ce http://stackoverflow.com/questions/2815128/what-browsers-are-compatible-with-html5 – christiandev

+1

possible doublon de [Les attributs de données personnalisés HTML5 "fonctionnent" dans IE 6?] (http://stackoverflow.com/questions/2412947/do-html5-custom-data-attributes-work-in-ie-6) – whostolemyhat

Répondre

7

L'attribut lui-même fonctionnera dans tous les navigateurs. C'est juste un attribut après tout. Cela « travail » dans le sens où l'attribut existera dans les DOM:

<div random-attribute="hello"></div> <!-- invalid, but "works" --> 
<div data-random="hello"></div> <!-- valid (in browsers with HTML5 support) --> 

La propriété dataset native d'éléments ne fonctionnent pas dans les anciens navigateurs, mais getAttribute sera:

var random = document.getElementById("x").dataset.random; 
// or 
var random = document.getElementById("x").getAttribute("data-random"); 
17

Le HTML5 La propriété datalist n'est pas disponible dans les anciens navigateurs (elle peut cependant être facilement remplie de polyfonctions). Vous pouvez toujours utiliser la méthode standard au lieu getAttribute bien sûr, et data-xxx attributs sur les éléments HTML sont acceptés par tous les navigateurs (tant que vous êtes en mode HTML et non xHTML où ils sont invalides)

Mais votre question semble pour être plus spécifiquement sur jQuery que HTML5, et pour cela, la réponse est Oui - la méthode jQuery .data() est disponible dans tous les navigateurs supportés par jQuery. Tout ce qui prend en charge HTML sera en mesure d'accéder à un attribut de données HTML.

+0

Ceci est utile pour moi. Merci. – bleedCoder

+0

@bleedCoder - vous devez utiliser l'icône en forme de coche verte à côté de la réponse la plus utile pour marquer cette réponse comme "acceptée". Cela récompensera la personne qui a écrit la réponse, et aidera également ceux qui cherchent le même problème dans le futur à trouver la bonne réponse. – Spudley

0

Donc, le traitement du côté client via JQUERY devrait être absolument parfait.

En fait, j'ai récemment dû le faire pour un projet au travail et cela a fonctionné comme un gâchis jusqu'à IE7.

Si vous souhaitez utiliser les attributs de données HTML pour le style via CSS, vous devez disposer de navigateurs prenant en charge les selectos CSS3. Ce qui est n'importe quoi sous IE9 et certaines versions plus anciennes de Firefox.

Cela pourrait être vous intéresser:

Do HTML5 custom data attributes “work” in IE 6?

Questions connexes