querySelectorAll返回什么类型的数据?

时间:2018-09-01 13:20:53

标签: javascript web-deployment

一个javaScript对象不具有length属性,但是querySelectorAll的返回值具有length属性,因此它指示是一个数组,但是如果我们通过Array.isArray()对其进行检查,则它返回false证明它不是数组那是什么类型的数据呢?

var obj1 = {
  fname: "Mirajul",
  lname: "Momin",
  age: 24
};
console.log(obj1.length);
var paraList = document.querySelectorAll("p");
console.log(paraList.length);
console.log(Array.isArray(paraList));
<p>This is paragraph one</p>
<p>This is paragraph two</p>
<p>This is paragraph three</p>
<p>This is paragraph four</p>

3 个答案:

答案 0 :(得分:1)

  

Element方法querySelectorAll()返回一个静态(非实时)NodeList,该NodeList表示与指定选择器组匹配的文档元素列表。

有关差异,请访问:Difference between HTMLCollection, NodeLists, and arrays of objects

您可以使用Spread syntax将其作为数组:

List<DateRange> listToBeSorted = new ArrayList<DateRange>();


static private class DateRange
{
    private int startRange ;
    private int endRange ;
    public int getStartRange() {
        return startRange;
    }
    public void setStartRange(int startRange) {
        this.startRange = startRange;
    }
    public int getEndRange() {
        return endRange;
    }
    public void setEndRange(int endRange) {
        this.endRange = endRange;
    }
}
var obj1 = {
  fname: "Mirajul",
  lname: "Momin",
  age: 24
};
console.log(obj1.length);
var paraList = [...document.querySelectorAll("p")];
console.log(paraList.length);
console.log(Array.isArray(paraList));

答案 1 :(得分:0)

根据文档,“非活动Element包含一个NodeList对象,每个对象至少与指定的选择器之一匹配;如果不匹配,则为空graph = {("A","A"): 3, ("A","B"): 4, ("A","C"): 1} 。 “

您可以在https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll

上查看有关此问题的更多信息

答案 2 :(得分:0)

querySelectorAll()返回一个对象数组,其元素与指定的选择器组匹配。

.isArray()将返回false,因为它返回的对象不是数组

语法:

var elms = document.querySelectorAll('selectors');
  • “选择器”是一个字符串,其中包含一个或多个用逗号分隔的CSS选择器。
  • elms是具有选定HTML元素的数组。

例如,获取一个数组,该数组包含具有class ='sites'的LI标签的内容,以及具有id ='dv1'的元素内包含class ='note'的标签,然后显示其内容:

阅读博客以更好地了解querySelectorAll

https://coursesweb.net/javascript/queryselector-queryselectorall