【问题标题】:Get all elements with similar id array in javascript在javascript中获取具有相似id数组的所有元素
【发布时间】:2014-10-08 09:47:42
【问题描述】:

我在 html 页面上有这样的元素:

<input id="serial[301888][0]" type="hidden" value="51.0100|T2-QQQ" name="serial[301888][0]">
<input id="serial[301888][1]" type="hidden" value="5.0900|T2-WWW" name="serial[301888][1]">
<input id="serial[301888][2]" type="hidden" value="11.1100|T2-XXX" name="serial[301888][2]">
<input id="serial[301888][3]" type="hidden" value="22.5600|T2-YYY" name="serial[301888][3]">
<input id="serial[301888][4]" type="hidden" value="10.2300|T2-ZZZ" name="serial[301888][4]">

如果不使用 jQuery,如何将所有这些元素放入一个数组中?

【问题讨论】:

标签: javascript html arrays


【解决方案1】:

您可以将 JavaScript 的 document.querySelectorAll 与 CSS 的 ^= attribute selector 结合起来:

document.querySelectorAll('[id^="serial[301888]"]');

这将生成一个包含id 属性以"serial[301888]" 开头的所有元素的数组。

【讨论】:

  • 请注意,这绝对不是数组(根据要求)。
  • @DavidThomas 确实如此,但querySelectorAll 确实返回了一个类似数组的对象。我怀疑这不能满足 OP 的要求,即它是一个数组,因为 jQuery 的选择器本身也不返回 Array 实例。
  • 同意;我的意思不是你的代码不起作用,只是指出它不会返回一个数组(当然,它确实返回一个NodeList,这在很多方面都非常相似)。我的目标是清晰,而不是批评;但我的语言选择有时会失败。
猜你喜欢
  • 2020-10-14
  • 2012-05-28
  • 1970-01-01
  • 2020-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-13
  • 2017-11-26
相关资源
最近更新 更多