JavaScript querySelectorAll元素命令

时间:2015-09-13 22:18:54

标签: javascript html arrays

我需要通过querySelectorAll函数获取元素的帮助。 当我调用它并传递一个字符串作为此函数的参数时,多个元素用逗号分隔,return我将NodeList带节点但是,它们按first-depth traversal pre-order排序(其中应该像document body)一样。如果我想调用method来返回documentArray中保存的更多元素的值,我就会遇到问题。所以我称之为

$('#textinput, #someotherinput').value();

其中id #someotherinput元素位于元素#textinput上方,但querySelectorAll之后的结果是:

[input#someotherinput, input#textinput]
   0: input#someotherinput
   1: input#textinput
   length: 2
   __proto__: NodeList

我需要按照我调用$()时的方式对其进行排序,因为当我需要使用值时,我只看$('#textinput, #someotherinput')并且查找订单很烦人document body中的元素,当我不知道在数组的第一个(第0个)位置保存了什么时,使用带有这些元素值的返回数组。是的,我知道querySelectorAlltraversal pre-order函数。那么,如何将(尽可能简单的)元素排序到MY订单?

1 个答案:

答案 0 :(得分:0)

没有简单的方法来确定元素是否与选择器匹配。您必须重新实现整个规则匹配系统,因此最简单的方法是使用选择器来查询元素。

以您喜欢的顺序获取元素的最简单方法是将选择器拆分为其子选择器,对每个选择器执行查询,然后通过消除重复的元素引用将结果放在一起。