Javascript Node.childNodes的forEach方法?

Javascript Node.childNodes的forEach方法?,javascript,google-chrome,dom,chromium,nodelist,Javascript,Google Chrome,Dom,Chromium,Nodelist,在为一个问题提供了关于的.item()属性之后,我检查了表单元素的返回的子节点,并找到了一个forEach方法 Node.childNodes的forEach方法未记录在或的规范中,也未在或链接到该问题的页面中提及;虽然它似乎在铬50可用 该方法是否仅适用于相对较新版本的Chrome/Chrome?如果是,是否有文件记录 是否有关于Node.childNodes的forEach()方法的文档 document.querySelector(“表单”).addEventListener(“提交”

在为一个问题提供了关于的
.item()
属性之后,我检查了
表单
元素的返回的
子节点
,并找到了一个
forEach
方法

Node.childNodes
forEach
方法未记录在或的规范中,也未在或链接到该问题的页面中提及;虽然它似乎在铬50可用

该方法是否仅适用于相对较新版本的Chrome/Chrome?如果是,是否有文件记录

是否有关于
Node.childNodes
forEach()
方法的文档


document.querySelector(“表单”).addEventListener(“提交”,函数(e){
e、 预防默认值();
var form=e.target;
form.childNodes.forEach(函数(el){
if(el.tagName==“输入”&&el.type!==“提交”)
log(“名称:“+el.name+”,值:“+el.value”)
});
});


DOM4现在定义为一个iterable:

iterable<Node>;
对象,该对象实现一个声明为iterable的接口 支持迭代以获取值序列

注意:在ECMAScript语言绑定中,一种 iterable将具有“条目”、“forEach”、“键”、“值”和 其上的属性

如果给定了单个类型参数,则接口具有值 迭代器并提供指定类型的值

该方法是否仅适用于相对较新版本的Chrome/Chrome?如果是,是否有文件记录

是的,这在DOM4中是新的,因此没有广泛可用

是否有关于Node.childNodes的forEach()方法的文档

请参阅Chromium bug tracker上的:

DOM4将节点列表指定为在其原型链中具有Array.prototype

还有一些关于这个的背景。[ArrayClass]允许我们执行document.querySelectorAll(“.foo”).forEach等操作。bugs.webkit.org上的补丁有一个运行时标志,因为不清楚这是否仍然可以实现

从历史上看,这些类似数组的对象不包括数组原型中的这些方法,导致类似于
array.prototype.forEach.call(nodeList,function(){…})
的代码。这现在意味着在DOM4中改变

iterable<value-type>;
iterable<key-type, value-type>;