【发布时间】:2021-01-05 19:11:58
【问题描述】:
将 ID 递增为数字的 Div 元素模式最有效的方法是什么?
我想要 56 列和 80 行。在左上角创建的第一个 div 的 id 为 1,在右下角创建的最后一个 div 的 id 为 4480。
我知道我能做到:
<style>
.myGrid{
display:grid;
grid-template-columns: 1fr 1fr 1fr and so on...;
grid-gap:5px;
grid-auto-rows: 50px;
grid-auto-columns: 50px;
}
</style>
<body>
<div class = "myGrid">
<div class = "gridItem" id = "1"><div>
<div class = "gridItem" id = "2"><div>
<div class = "gridItem" id = "3"><div>
and so on...
</div>
</body>
但这需要 100 年才能打出来,而且我知道肯定有更好的方法。
我希望 id 增加的原因是,一旦我完成了网格模式,我想用 javascript 来定位它们。
【问题讨论】:
-
所以分解 JavaScript 并制作一些元素
-
grid-template-columns:repeat(56,1fr)maybe ? -
stackoverflow.com/a/11026311/3536236是一个类似的JS解决方案,你应该可以从中得到思路
-
对于 ids :
let gridChild = document.querySelectorAll(".mygrid>div"); for (let i = 0; i < gridChild.length; i++) {gridChild[i].setAttribute('id','grid-' + i); }