在Javascript中进行测试时,如何使html属性顺序保持一致

时间:2009-10-20 00:22:19

标签: javascript html xml xhtml yui

我有一个组件,它在innerHTML中创建了一组这样的文本:

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

设置innerHTML后,浏览器有时会解析此文本,生成:

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

这种行为似乎依赖于浏览器,因为我可以让我的测试在FFx中运行,然后由于属性的顺序,它们将在safari中失败。

有没有办法可以将HTML解析为类似DOM的形式,然后在比较之前将其打印出来,以便我可以期待html属性的一致排序?

2 个答案:

答案 0 :(得分:7)

HTML元素中的属性是无序的,即:顺序无关紧要。如果您的测试假设某个特定订单,那么他们确实做错了。

答案 1 :(得分:0)

出于这个原因,我必须为HTML编写自己的规范化函数。见http://code.google.com/p/google-code-prettify/source/browse/trunk/src/prettify.js#556