Я ищу эквивалент для grid-template-columns и grid-template-rows для javascript dom. Я сделал простой макет сетки в html и css:
<div class = "box">
<div id = "box1"><a href = "#">box1</a></div>
<div id = "box2"><a href = "#">box2</a></div>
<div id = "box3"><a href = "#">box3</a></div>
<div id = "box4"><a href = "#">box4</a></div>
</div>
.box {
display: grid;
grid-template-columns: 33% auto;
grid-template-rows: 350px 588px;
}
Я хочу отредактировать стиль для grid-template-columns и grid-template-rows в javascript, но обнаружил, что javascript dom не поддерживает это свойство. Есть ли другой способ отредактировать поля, чтобы изменить их размер?
Спасибо за помощь.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать .style.gridTemplateColumns для изменения столбцов и .style.gridTemplateRows для строк:
let a = true
setInterval(() => {
let box = document.getElementById('box')
box.style.gridTemplateColumns = a ? "20% auto" : "30% auto"
box.style.gridTemplateRows = a ? "50px 50px" : "150px 188px"
a = !a
}, 500).box {
display: grid;
grid-template-columns: 33% auto;
grid-template-rows: 150px 188px;
}<div id = "box" class = "box">
<div id = "box1"><a href = "#">box1</a></div>
<div id = "box2"><a href = "#">box2</a></div>
<div id = "box3"><a href = "#">box3</a></div>
<div id = "box4"><a href = "#">box4</a></div>
</div>@Duco, это тернарный оператор. Он просто меняет css между этими двумя значениями в зависимости от того, является ли a истинным или ложным.
Есть ли способ использовать переменные для значений gridTemplateColumns и gridTemplateRows?
Где в вашем коде находятся вопросительный знак и функция let a = true?