如何将DOM节点列表转换为Javascript中的数组?

如何将DOM节点列表转换为Javascript中的数组?,第1张

如何将DOM节点列表转换为Javascript中的数组?

ECMAscript规范指出:NodeLists是宿主对象

Array.prototype.slice
不能保证在宿主对象上使用方法可以正常工作。

slice函数是否可以成功应用于主机对象取决于实现。

我建议您做一个简单的函数来遍历

NodeList
并将每个现有元素添加到数组中:

function toArray(obj) {  var array = [];  // iterate backwards ensuring that length is an UInt32  for (var i = obj.length >>> 0; i--;) {     array[i] = obj[i];  }  return array;}

更新:

正如其他答案所建议的那样,您现在可以在现代环境中使用传播语法或

Array.from
方法:

const array = [ ...nodeList ] // or Array.from(nodeList)

但是考虑一下,我想将NodeList转换为Array的最常见用例是对其进行迭代,现在该

NodeList.prototype
对象具有本
forEach
机方法,因此,如果您在现代环境中,则可以直接使用它,也可以使用一个民意测验。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5111008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存