Есть таблица и ее стоблцы отображаются по пришедшему id. Вопрос, я чувствую что можно это сделавть лучше чем я сделал сейчас, но как? Как вариант, записать в массив и отображать по пришедшему id?
for (let i = 0; i < table.length; i++) {
switch (id) {
case 0:
tax[i].style.display = "block";
tax[i].style.display = "none";
tax[i].style.display = "none";
break;
case 1:
tax[i].style.display = "none";
tax[i].style.display = "block";
tax[i].style.display = "none";
break;
case 2:
tax[i].style.display = "none";
tax[i].style.display = "none";
tax[i].style.display = "block";
break;
}
}
var d1 = (id == 0)? "block" : "none";
var d2 = (id == 1)? "block" : "none";
var d3 = (id == 2)? "block" : "none";
for (let i = 0; i < table.length; i++) {
// c этими тремя строчками что-то не так, но воспроизведем как в вопросе
tax[i].style.display = d1;
tax[i].style.display = d2;
tax[i].style.display = d3;
}
const map1 = ['block', 'none', 'none']
const map2 = ['none', 'block', 'none']
const map3 = ['none', 'none', 'block']
table.forEach((row, i) => {
tax[i].style.display = map1[id]
tax[i].style.display = map2[id]
tax[i].style.display = map3[id]
})
В вашем случае можно просто индекс с id сравнивать:
for (let i = 0; i < table.length; i++) {
tax[i].style.display = i === id ? 'block' : 'none';
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости