首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解NodeList 和 HTMLCollection 和 Array

用一遍就知道: entries(): 调用entries方法会返回一个iterator(迭代器),关于iterator/iterable可以参见MDN,简单点说就是返回了一个可以遍历的对象,而这个对象实现了...iterable protocal,所以需要用for...of遍历,所以我们可以: var divs = document.querySelectorAll('div'); for(var item of...keys(): 返回一个iterator用于遍历NodeList的key: var divs = document.querySelectorAll('div'); for (var key of list.keys...values(): 和keys()类似,返回一个iterator用于遍历NodeList的value,即html元素: var divs = document.querySelectorAll('div...通过对NodeList的研究我们发现,NodeList和Array没有继承关系,但是都有length属性和forEach方法,而且拥有几个特有的方法,主要都是用来遍历和取值用的。

2.4K40

JavaScript 学习-28.元素与节点(HTMLCollection 和 NodeList)

为什么有时候返回HTMLCollection ,有时候返回NodeList? HTMLCollection 和  NodeList 的区别又是什么?带着这些问题进入本篇的学习。...DOM提供两种集合对象,用于实现这种节点的集合:NodeList和HTMLCollectionHTMLCollection 是表示 HTML 元素的集合。...对象 HTMLCollection只能包含 元素节点(ElementNode)类型的节点, 以下方法返回HTMLCollection对象 document.getElementsByClassName...HTMLCollection.namedItem(name) 或 HTMLCollection[name] 使用示例,以下两种方法都可以 // namedItem 根据id 或name属性取值 console.log...与NodeList区别 HTMLCollection 是表示 HTML 元素的集合,元素也是节点的一种,也就是元素节点,NodeList 是表示节点的集合 我们可以理解为 HTMLCollection

1.9K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Web APIs】DOM 文档对象模型 ② ( 根据标签名获取 DOM 元素 - getElementsByTagName 函数 | 获取指定标签下的 DOM 元素 )

    遍历及使用 在上面的章节 , 通过 调用 Document 或 Element 的 getElementsByTagName 函数 , 可以获取到 封装了多个 Element DOM 元素的 HTMLCollection...对象 ; HTMLCollection 对象是 时刻 动态改变的 , 如果 HTML 文档结构发生了改变 , HTMLCollection 对象会进行自动更新 , 如果要操作 HTMLCollection...; var elements = document.getElementsByTagName("div"); // 遍历 HTMLCollection 中封装的 DOM...document.getElementsByTagName("div"); // 控制台打印获取结果 console.log(elements); // 遍历...element.getElementsByTagName("div"); // 控制台打印获取结果 console.log(elements); // 遍历

    7510

    【春节日更】小技巧 — 如何将类数组转成数组

    Array.prototype.push, splice : Array.prototype.splice } 注:若类数组对象没有写push方法,则调用时即会报错 常见的类数组有 arguments 和 HTMLCollection...arguments); } var list1 = list(1, 2, 3); // [1, 2, 3] 方法二: Array.from() 是ES6中新增的方法,可以将两类对象转为真正的数组:类数组对象和可遍历...'1':'b', '2':'c', length:3 }; var arr = Array.from(arrayLike);//['a','b','c'] //demo2 // 把HTMLCollection...同样是ES6中新增的内容,扩展运算符(…)也可以将某些数据结构转为数组 //arguments对象的转换 function list(){ return [...arguments]; } //HTMLCollection...对象的转换 [...document.getElementsByTagName('p')] 扩展运算符实际上调用的是遍历器接口,如果一个对象没有部署此接口就无法完成转换

    67410

    通过几个事例,就可以说明 for...of 循环在 JS 是不可或缺

    类似数组遍历 for...of 除了可以遍历对象外,还可以遍历类似数组的对象。 arguments是函数体内的特殊变量,表示包含函数的所有参数,arguments 也是一个类似数组对象。...字符串字符的遍历 JavaScript 中的原始类型字符串是可迭代的。因此,我们可以轻松地遍历字符串的字符。...遍历普通 JavaScript 对象 遍历普通 JS 对象的属性/值对总是很痛苦的。...然后,对于for...of循环,遍历元组,并将每个元组解构const [prop,value]。 7.遍历 DOM 集合 你可能知道在 DOM 中使用HTMLCollection是多么令人沮丧。...因为HTMLCollection是一个类似数组的对象(而不是一个常规数组),所以我们不能使用常规数组方法。 例如,每个 DOM 元素的children属性都是HTMLCollection

    1.1K50

    遍历

    前序遍历 前序遍历(DLR),是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。...(2)前序遍历左子树。 (3)前序遍历右子树 。 ? 前序遍历 需要注意的是:遍历左右子树时仍然采用前序遍历方法。...如右图所示二叉树 前序遍历结果:ABDECF 已知后序遍历和中序遍历,就能确定前序遍历。 中序遍历 中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历、中序周游。...在二叉树中,中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。 中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。...后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后遍历根结点。

    1.3K10

    图的遍历 --- 深度优先遍历

    在讲深度优先遍历之前,先来回顾一下图这种数据结构。 1. 是什么? 图,也是一种数据结构,其节点可以具有零个或者多个相邻元素,两个节点之间的连接称为边,节点也称为顶点,图表示的是多对多的关系。 ?...无向图的遍历: (1). 遍历分类: 图的遍历分为两种: 深度优先:depth first search,简称DFS。...类似于二叉树的层序遍历,具体的本文不做介绍。 (2). 深度优先算法步骤: 以开篇中的图为例: 访问A,并将A标记为已访问; 找到A的第一个未被访问邻接顶点,怎么找?...看矩阵: A B C D E F G H A[0, 1, 0, 0, 0, 1, 0, 1] 第一个1对应的是B,所以A的第一个邻接顶点是B,所以第二个遍历出来的是B,并且标记B为已访问...比如我要找A的第一个邻接顶点,那就遍历A所在的那一行,找到第一个1出现位置的索引,该索引对应的就是A的第一个邻接顶点。

    1.4K20
    领券