Node.childNodes 的 forEach 方法?

2024-02-28

提供后一个不正确的答案 https://stackoverflow.com/questions/36105267/js-accessing-event-data-via-a-string-to-dictate-which-input-forms-to-be-captur/36105392#36105392关于.item()的财产Node.childNodes https://developer.mozilla.org/en-US/docs/Web/API/Node/childNodes对于一个问题,我检查了__proto__归来的childNodes of a form元素并找到一个forEach method.

The forEach的方法Node.childNodes没有记录在规范中NodeList https://www.w3.org/TR/domcore/#nodelist, in Methods at MDN https://developer.mozilla.org/en-US/docs/Web/API/Node/childNodes, or 接口节点列表 https://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-536297177,并且似乎没有被提及使用 forEach 方法迭代 NodeList https://stackoverflow.com/questions/21921282/iterate-a-nodelist-using-foreach-method或链接到该问题的页面;尽管它似乎在 Chromium 50 中可用。

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

有没有相关文件forEach()的方法Node.childNodes?


document.querySelector("form").addEventListener("submit", function(e) {
  e.preventDefault();
  var form = e.target;
  form.childNodes.forEach(function(el) {
    if (el.tagName === "INPUT" && el.type !== "submit")
      snippet.log("name:" + el.name + ", value:" + el.value)
  });
});
<form>
  <input type="text" name="firstName" value="The first name">
  <input type="text" name="lastName" value="The last name">
  <input type="email" name="emailAddress" value="[email protected] /cdn-cgi/l/email-protection">
  <br>
  <input type="submit" value="Submit">
</form>
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

DOM4 现在定义NodeList https://www.w3.org/TR/dom/#nodelist作为一个可迭代的:

iterable<Node>;

根据IDL草案 http://heycam.github.io/webidl/#idl-iterable,这意味着

An 界面 http://heycam.github.io/webidl/#dfn-interface可以声明为iterable通过使用可迭代声明(匹配Iterable http://heycam.github.io/webidl/#prod-Iterable)在界面主体中。

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

实现声明为可迭代的接口的对象 支持迭代以获得一系列值。

Note:在 ECMAScript 语言绑定中,一个接口是 iterable 将具有“entries”、“forEach”、“keys”、“values” 和@@迭代器 https://people.mozilla.org/~jorendorff/es6-draft.html#sec-well-known-symbols其上的属性接口原型对象 http://heycam.github.io/webidl/#dfn-interface-prototype-object.

如果给出单个类型参数,则该接口有一个价值 迭代器并提供指定类型的值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.childNodes 的 forEach 方法? 的相关文章

随机推荐

  • 将 Bokeh 更新为 0.5.0,现在可以在一个窗口中绘制所有以前版本的图表

    在更新之前 我会运行脚本并输出 html 文件 窗户上将有我的一处地块 我会对我的脚本进行更改 运行它 输出 html 文件 查看新的绘图 然后我再次安装该库以使用 conda 更新它 我对脚本做了一些更改 再次运行它 输出文件包括我进行一
  • 一张背景图片适用于多个 div

    我想使用 1 个背景图像 1366x768 在多个 div 中使用 但如果我使用 my divs background image url image jpg 我只有每个 div 上图像的左上角 我想使用基于 div 位置的图像部分 我可以
  • 如何使用Slick2.0.1映射postgresql自定义枚举列?

    我就是想不通 我现在使用的是 abstract class DBEnumString extends Enumeration implicit val enumMapper MappedJdbcType base Value String
  • Maven - java.net.BindException:地址已在使用中

    我正在尝试在 Ubuntu 12 04 中运行以下命令 mvn jetty run 并收到以下错误 2013 09 04 13 21 32 843 WARN failed email protected cdn cgi l email pr
  • 基于另一个 Observable 的自定义过滤器的函数反应运算符

    为了好玩和学习 我尝试使用函数反应式编程在我的应用程序中实现撤消系统 我有一个状态更改流 需要将其保存到撤消堆栈中 当用户单击撤消时 我从堆栈中获取一个值并相应地更新应用程序状态 问题是此更新本身也会在状态更改流中生成一个事件 所以我想要的
  • 目前不存在哪些有用的 R 包? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • AVAudioPlayer:音量按钮在某些设备上有效,在其他设备上无效

    我有一个应用程序使用AVAudioPlayer播放一些嵌入的 MP3 文件 音量按钮在我主要用于测试的 3GS 上工作可靠 它们在 4 1 下工作 升级到 4 3 1 后现在可以工作 在我老板运行 4 2 1 的 iPhone 4 上 它们
  • 创建 XML 站点地图生成器 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想创建一个 XML 站点地图生成器 我有一个脚本 如果与其他文件一起放置在您的目录中 它会创建一个站点地图 但我想创建一个可以使用
  • 为r中的每个变量按组汇总表中的数据

    我有一些数据 我想用 R 中的一些汇总值正确格式化 我已经玩过aggregate和其他事情 例如summaryBy 但没有一个产生我想要的结果 这是数据 data lt data frame id c 1 2 3 4 5 6 7 8 9 1
  • android 无法从服务器加载图像

    在这里 我尝试从服务器下载图像 但它总是抛出异常 任何人都可以告诉我为什么会发生这种情况以及正确的方法是什么 public static String getBitmap String url throws IOException Inpu
  • 多个键名,相同的对值

    我正在尝试在 JavaScript 脚本中设置一个对象文字 该脚本具有具有多个名称的键 引用相同的对象值 即我已经尝试过的类似内容 var holidays thanksgiving day thanksgiving t day someV
  • 包装对象返回值(例如 Integer)是否会导致 Java 中的自动装箱?

    对于这个看似简单的问题 我找不到明确的答案 如果我写一个这样的方法 public Integer getAnInt int i 4 return i 0 返回值是否自动装箱为 Integer 还是取决于返回值后发生的情况 例如 分配给它的变
  • Python:UnboundLocalError:赋值之前引用的局部变量[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我在Pyt
  • 约束 wxPython MultiSplitterWindow 窗格

    Edit 我将问题保留原样 因为这仍然是一个好问题 而且答案可能对其他人有用 但是 我会注意到我找到了一个实际的解决方案my通过使用完全不同的方法来解决问题AuiManager 看到answer https stackoverflow co
  • 如何在 bazel 中生成 Python 覆盖率?

    我正在尝试在 bazel 中生成 Python 覆盖范围 我尝试运行此命令并生成了一个空文件 bazelisk coverage company libs foo test INFO Using default value for inst
  • 如何防止自定义 DialogFragment 在显示时隐藏键盘

    有 2 种方法可以通过以下方式创建自定义对话框DialogFragment 覆盖onCreateDialog并使用返回一个对话框AlertDialog Builder 覆盖onCreateView 我们注意到 如果我们覆盖onCreateD
  • 调试时暂停且“无法评估表达式”

    使用 Visual Studio 在附加到进程并按 暂停 全部中断 后 您可以切换到所需的线程并使用 快速监视 窗口来检查一些数据 例如 MySingletonClass Instance Data 有时我要么得到这个 无法计算表达式 因为
  • 控制器中的 Url.Action 生成端口两次

    我正在使用下面的代码来生成完全合格的url并将其传回为json用于重定向 returnUrl Url Action ActionName Controller new RouteValueDictionary new type return
  • 将行插入仅包含主键字段的表

    谷歌搜索告诉我尝试这个 insert into Plan default values 但我得到了 null value in column id violates not null constraint 或这个 insert into P
  • Node.childNodes 的 forEach 方法?

    提供后一个不正确的答案 https stackoverflow com questions 36105267 js accessing event data via a string to dictate which input forms