我正在尝试制作一个适用于多个页面的js代码.
我试图使用querySelectorAll()来获取DOM的元素.
我试图使用querySelectorAll()来获取DOM的元素.
我需要订购的元素.为了做到这一点,我可以使用xPath或选择器(我更喜欢使用选择器,但xPath也可以).问题是:
由QuerySelectorAll()返回的NodeList中的元素是否按照HTML中出现的顺序排列?
解决方法
返回的节点列表是有序的.快速测试证明:
document.querySelectorAll("body,head")[0]; //Returned [object HTMLHeadElement]
显然,< head>标签出现在< body>之前在HTML文档中. NodeList的第一个元素也是< head>元素,即使选择器在“头”之前显示正文.
从http://www.w3.org/TR/selectors-api/#queryselectorall:
The
querySelectorAll()
method on the NodeSelector interface must,when
invoked,return a NodeList containing all of the matching Element
nodes within the node’s subtrees,in document order. If there are no such nodes,the method must return an empty NodeList.