2009-10-20 2 views
1

je un composant qui crée un ensemble de texte comme celui-ci dans le innerHTML:Comment puis-je obtenir l'ordre d'attribut HTML pour être cohérent lors du test en Javascript

fourty two<br><br><input value="Select" type="button"> 

sur le réglage de la innerHTML, le navigateur parfois analyser ce texte, la production:

fourty two<br><br><input type="button" value="Select">

ce comportement semble dépend du navigateur, parce que je peux obtenir mes tests à exécuter dans FFx, puis ils vont échouer dans safari, à cause de l'ordre des attributs.

Existe-t-il un moyen d'analyser le HTML sous une forme semblable à celle de DOM, puis de l'imprimer avant la comparaison afin d'obtenir un classement cohérent des attributs html?

Répondre

7

Les attributs dans les éléments HTML sont non ordonnés, c'est-à-dire: l'ordre n'est pas pertinent. Si vos tests supposent un ordre spécifique, ils le font vraiment mal.

+0

+1. Si les tests de l'OP sont interrompus lorsque les attributs sont dans un ordre différent, alors les tests eux-mêmes sont brisés car ils reposent sur un comportement non spécifié; La spécification DOM indique explicitement que les attributs ne sont pas dans un ordre particulier. – NickFitz

Questions connexes