Tag: nodelist

JavaScript中的NodeList对象

任何人都可以告诉我NodeList是什么types的对象。 我读到它是一个类似数组的对象,它可以通过括号表示来访问,例如var a = someNode.childNode[0]; 。 这怎么可能,因为通过括号表示法,我们只能访问一个对象的属性,而且我知道我们不能拥有

JavaScript NodeList

有没有办法join由2个document.getElementsByTagName调用返回的2个NodeLists? 说,我有以下代码 var inputs = documentElement.getElementsByTagName('input'); var selects = document.getElementsByTagName('select'); 我想循环的结果。 在一个循环中可能吗? 先谢谢你!

将JavaScript NodeList转换为数组最快的方法?

以前在这里回答的问题说这是最快的方法: //nl is a NodeList var arr = Array.prototype.slice.call(nl); 在我的浏览器基准testing中,我发现它比这慢了3倍多: var arr = []; for(var i = 0, n; n = nl[i]; ++i) arr.push(n); 他们都产出相同的产出,但我很难相信我的第二个版本是最快的方式,特别是因为人们在这里说的其他。 这是我的浏览器(铬6)怪癖? 还是有更快的方法? 编辑:任何关心的人,我解决以下(这似乎是我testing的每个浏览器中最快): //nl is a NodeList var l = []; // Will hold the array of Node's for(var i = 0, ll = nl.length; i != ll; l.push(nl[i++])); 编辑2:我发现一个更快的方法 […]

.forEach.call()在JavaScript中做什么?

我正在查看一些代码片段,并且发现多个元素通过节点列表调用一个函数,forEach应用于一个空的数组。 比如我有这样的东西: [].forEach.call( document.querySelectorAll('a'), function(el) { // whatever with the current node }); 但我不明白它是如何工作的。 任何人都可以解释我在forEach前的空数组的行为,以及如何call ?