从 HTML 页面获取所有输入 ID 值

Get all input id values from an HTML page

我有一个包含一些输入文本的表单。他们每个人都有一个特定的 ID,我必须检索该 ID 才能进行特定的处理。

为此,我创建了一个基本的 JavaScript 来查询整个 HTML 文档。

window.addEventListener('load', function () {
    var inputs = [];
    document.querySelectorAll('input').forEach( input => {
        console.log(input.getElementsByTagName('id'));
        inputs.push(this);
    });

    console.log(inputs);
})

在这个阶段,我只是尝试将它们全部放在一个控制台中,然后将 id 推送到一个数组中。我会将它们添加到数组或其他内容中。 我的问题是我获得了空的 HTML 集合和错误消息

TypeError:'caller'、'callee' 和 'arguments' 属性可能无法在严格模式函数或在 Function.invokeGetter 调用它们的参数对象上访问(: 2:14)

您可以在将其推入数组之前检查 id 属性。

请注意: Arrow function (=>) 没有它自己的 this

window.addEventListener('load', function () {
  var inputs = [];
  document.querySelectorAll('input').forEach( input => {
    //console.log(this.constructor.name); // Window
    if(input.id)
     inputs.push(input.id);
  });
  console.log(inputs);
})
<input id="abc"/>
<input id="xyz"/>
<input />