在执行 getElementsByTag 时,我在返回的节点列表中看到了一个特定的顺序。我可以指望任何特定浏览器供应商从一个版本到下一个版本的顺序是一致的吗?所有浏览器供应商之间是否存在一致性?
更普遍的问题是 - 浏览器供应商是否遵循规范来保证订单?
在执行 getElementsByTag 时,我在返回的节点列表中看到了一个特定的顺序。我可以指望任何特定浏览器供应商从一个版本到下一个版本的顺序是一致的吗?所有浏览器供应商之间是否存在一致性?
更普遍的问题是 - 浏览器供应商是否遵循规范来保证订单?
对于 Firefox,我只能回答:返回的(例如 elements = element.getElementsByTagName(tagName))是按它们在子树中出现的顺序找到的元素的活动 NodeList。
来源:https ://developer.mozilla.org/en-US/docs/Web/API/element.getElementsByTagName
我认为没有规范可以保证订单,因为 W3C 没有提到:
“getElementsByTagName:返回具有给定标签名称的所有后代元素的集合。
参数: tagname - 要匹配的标签的名称。如果给出字符串“*”,此方法将返回文档中的所有元素。
返回值:一个新的 NodeList 对象,其中包含对找到的所有元素的引用。
此方法不会引发异常。