因此,我希望找到一种简单的方法来遍历nodelists,而且我一直讨厌不能在nodeLists上使用nodeLists。
所以,现在我知道了:Array.prototype.forEach.call(nodeList, callback)。
对于索引,我需要:Array.prototype.indexOf.call(nodeList, node)。
而且,我在nodeLists上使用的几乎所有东西都是nodeLists。
但我想知道这些是不是被认为是黑客?
他们是正确的方法吗?
另外,假设我实际上不需要来自nodeList的数组,那么使用Array.from(nodeList).forEach(callback)是否有优势呢?
发布于 2017-04-17 10:50:44
var array=Array.from(nodeList);
//after some time
var array2=Array.from(nodeList);如果比较这些数组,就会发现它们不一定相等。NodeLists反映了DOM的变化,当您复制它们时,数组将保持静态。如果你想要这种行为/不在乎,你会没事的。然而,Array.from是非常新的,因此它不能被旧的浏览器理解,所以它不应该在生产环境中使用(如果您不使用像Babel这样的东西)。
https://stackoverflow.com/questions/43449971
复制相似问题