【发布时间】:2020-09-12 00:40:46
【问题描述】:
好的,这是我关于 SO 的第一个问题。 所以我有以下html:
<div class="tables">
<section id="table__1">
</section>
<section id="table__2">
</section>
<section id="table__3">
</section>
</div>
我知道我可以使用getElementByID 或querySelector('#ID'); 选择这些部分。
但是,如何仅通过所有这些部分都相同的 ID 的第一部分来选择所有这些部分。
我试过document.querySelectorAll("section[id^="table__"]"),但没用。
我是不是把语法弄乱了,或者无论如何这都行不通?如果是这样,有没有办法做出这样的选择?
【问题讨论】:
-
首先,尝试在部分 ID 周围加上单引号。其次,您的代码示例中有单词
tables(复数),但您的标记有单词table(单数)。示例:document.querySelectorAll("section[id^='table__']") -
试试这个'[id^=table__]'
-
顺便说一句,我建议您重新考虑您的 HTML 方法,如果您可以控制的话。在大多数情况下,如果您按其他标准(例如类、标记名或“data-”属性)选择所有子项会更好。 ID 应该用于单数识别,而不是部分匹配选择的理想构造。
标签: javascript css-selectors getelementbyid