getElementsByClassName是否保持订购?

时间:2015-07-05 18:30:53

标签: javascript

我正在使用的网页包含按字母顺序排序的div列表,这些div都具有相同的类别。如果我调用document.getElementsByClassName('classname'),我可以确定它返回的数组将按HTML顺序排序吗?

2 个答案:

答案 0 :(得分:6)

  

然后,该集合表示以该集合的根为根的子树视图,该子树仅包含与给定过滤器匹配的节点。视图是线性的。在没有相反的特定要求的情况下,集合中的节点必须按树顺序排序

- https://dom.spec.whatwg.org/#old-style-collections

答案 1 :(得分:3)

我在“The WHATWG Blog”中发现了以下声明:

  

getElementsByClassName(classNames)方法接受一个字符串   包含一组无序的空格分隔标记   代表类。调用时,该方法必须返回实时   NodeList对象,包含文档中的所有元素,在树中   具有该参数中指定的所有类的order   通过在空格上分割字符串来获取类。如果没有   在参数中指定的标记,则该方法必须返回空   节点列表。如果文档处于怪癖模式,则进行比较   类必须以ASCII不区分大小写的方式完成,   否则,必须以区分大小写的方式进行比较。

https://blog.whatwg.org/tag/getelementsbyclassname