【问题标题】:How to getElementById for A Group of Elements with Similar ID's? [duplicate]如何为具有相似 ID 的一组元素获取元素? [复制]
【发布时间】:2020-10-14 18:04:32
【问题描述】:

我正在处理一项任务,我必须在输入字段中处理一些具有相似命名和 ID 元素的数据。

我们只说 ID_1 ID_2 或 SCH_name SCH_start SCH_end。例如,如果我想根据 ID 前缀隐藏所有这些输入字段,是否有类似“包含”的东西可以做到这一点?

【问题讨论】:

  • 你可以使用查询选择器
  • 使用类和查询选择器
  • @MarkBaijens 此问题中没有重复的 ID。
  • var inputs=document.getElementsByTagName("input");for(var input of inputs) if(input.id.includes("SCH") && (input.id.indexOf("SCH")==0)) input.style.display="none";。这会检查“SCH”是否在 id 中并且它是否在它的开头。我敢肯定有更简单的方法来检查。要撤消隐藏:input.style.display="";

标签: javascript


【解决方案1】:

注意:也许你应该为你的元素添加类。


您可以使用querySelectorAll

for(let elem of document.querySelectorAll("[id^=d]")){
  console.log(elem.id)
}
<div id="d1">1</div>
<div id="d2">2</div>
<div id="d3">3</div>
<div id="w1">1</div>
<div id="w2">2</div>
<div id="w3">3</div>

【讨论】:

    【解决方案2】:

    你想要的可能是Attribute selector (MDN)

    [attr^=value]

    表示属性名称为 attr 的元素,其值以值作为前缀(在前)。

    所以你的应该是:

    [id^="ID_"] {
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 2014-05-29
      相关资源
      最近更新 更多