Attributs personnalisés Jquery

Je pense à l'utilisation d'attributs personnalisés dans Jquery pour éviter d'utiliser des attributs de classe ou d'id, pour ne pas interférer avec les concepteurs html.

Compte tenu de cette idée, le html devrait être des éléments comme:

<ul Jquery="CommonUl"> <li Jquery="CommonLi"></li> <li Jquery="CommonLi"></li> <li Jquery="CommonLi"></li> <li Jquery="CommonLi"></li> <li Jquery="CommonLi"></li> </ul> 

Vous pouvez le faire, utiliser data- attributs de data- ( partie de la spécification HTML5 ), comme ceci:

 <li data-something="CommonLi"></li> 

JQuery a même un support intégré dans 1.4.3+, par exemple:

 $("li").data("something") //"CommonLi" 

Pour vos autres questions:

  • Ils valideront s'il s'agit de HTML5 – mais ne casseront rien dans HTML4
  • Cela ne devrait pas interférer avec le concepteur, mais cela dépendra de quel concepteur
  • Si vous recherchez un élément, la performance est identique à tout autre attribut

Si vous prévoyez d'avoir plusieurs attributs, je suggère de définir un attribut namespac unique, par exemple

 <li data-yourapp>...</li> 

Et utiliser cet attribut comme un hachage

 $("li").data("yourapp", { points : 2000, life : 1, weapons : { firegun : 0, missiles : 12 } }); 

De cette façon, vous réduisez l'accès aux éléments et vous récupérerez toutes les données personnalisées une fois

Je vous recommanderais personnellement d'utiliser la méthode jquery builtin pour enregistrer des données avec chaque élément. Voici l'extrait de code pour la sauvegarde des données:

 $("ul").data("CommonUl"); $("li").data("CommonLi");