2012-10-09 2 views
0

dupliquées possible:
Opinion: in HTML, Possible Duplicate IDs or Non-Standard Attributes?éléments de clonage jQuery avec ids

J'écris actuellement un outil qui utilise clone jQuery pour cloner un élément avec un id. Il est possible que cet élément cloné ait des enfants qui pourraient aussi avoir des identifiants. A partir de maintenant, je ne rends aucun des éléments clones uniques. J'étais curieux de savoir si cela pouvait causer des problèmes liés au navigateur en plus de l'impossibilité évidente de trouver un seul élément à l'aide d'un sélecteur d'identifiant. En particulier, je suis curieux de savoir si les anciens navigateurs pourraient avoir des problèmes avec les ID en double. Pour être clair, je n'ai vu aucun problème, mais je suis seulement capable de tester IE8 natif comme le navigateur le plus ancien. Mon hypothèse est que cela pourrait causer quelques problèmes d'affichage mineurs en raison de son HTML invalide, et c'est tout.

Y a-t-il des répercussions de l'utilisation de clone sur les éléments avec des identifiants et ne pas rendre leurs identifiants uniques au-delà du code HTML invalide?

+0

déjà demandé ici. il y a une très bonne réponse: http://stackoverflow.com/a/165818/982924 – RASG

Répondre

1

Le code HTML sera invalide oui, mais 99% du temps ne cause aucun problème de rendu.

Vous aurez des problèmes avec votre javascript si vous utilisez getElementById. Vous obtenez seulement la première occurrence de l'élément. See here.

1

Il est probable que vous n'avez pas besoin de l'ID sur ces éléments du tout - sinon vous les changeriez respectivement.

Je propose donc de supprimer tout le id attribut:

$e.removeAttr('id') 

et de supprimer id pour tous les descendants:

$e.find('*').removeAttr('id') 
+0

D'accord. Si les identifiants sont utilisés, ils sont probablement mal utilisés, et devraient probablement être convertis en classes. –

0

Oui, l'avenir jQuery/sélecteurs javascript se conduisent mal sur ces éléments .

Questions connexes