Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DOM选择方法的文档顺序_Javascript - Fatal编程技术网

Javascript DOM选择方法的文档顺序

Javascript DOM选择方法的文档顺序,javascript,Javascript,我知道,getElementsByTagName返回的live节点列表保留了元素的文档顺序 对于getElementsdByClassName、getElementsByName和querySelectorAll方法是否正确 这些方法是否也保留文档顺序 任何DOM/HTML5 W3C标准链接都将不胜感激。不,它们的工作方式不同。只有getElementsByTagName方法返回活动集合 该方法返回一个NodeList对象,该对象是元素的活动集合 该方法返回一个非活动集合的NodeList对象

我知道,
getElementsByTagName
返回的live节点列表保留了元素的文档顺序

对于
getElementsdByClassName
getElementsByName
querySelectorAll
方法是否正确

这些方法是否也保留文档顺序


任何DOM/HTML5 W3C标准链接都将不胜感激。

不,它们的工作方式不同。只有
getElementsByTagName
方法返回活动集合

该方法返回一个
NodeList
对象,该对象是元素的活动集合

该方法返回一个非活动集合的
NodeList
对象

and方法返回一个非活动集合


(请注意,
getElemenetsByName
的不同文档指定了
HTMLCollection
NodeList

是。它们都是按文档顺序/树顺序排列的

  • getElementsByName
    ()返回一个
    NodeList
  • querySelectorAll
    ()按文档顺序返回一个
    节点列表
  • getElementsByTagName
    ()返回一个
    HTMLCollection
  • getElementsByClassName
    ()返回一个
    HTMLCollection
和都被指定为

元素按顺序排列


当通过indizes访问时。节点列表是否处于活动状态并不重要(当然,与静态节点列表中保存的文档顺序相比,实际文档顺序可能会发生变化)。

谢谢,我对文件订单更感兴趣,不是实时的,也不是实时的static@PK:所有方法都按树的顺序返回节点。@Guffa-它在哪里指定HTMLCollection不是活动的?对getElementsByName的快速测试表明,它确实返回了一个实时集合,至少在FF、Chrome和IE10上是这样。表示HTMLCollection是“可以是活动的,也可以是静态的。除非另有说明,否则集合必须是活动的”。我找不到任何声明API函数返回静态集合的地方。。。。除QuerySelect或AllexAct副本外