Как я могу использовать данные из многомерного массива в стиле div, ЕСЛИ divID соответствует строке в массиве?

#javascript #arrays #setattribute

#javascript #массивы #setattribute

Вопрос:

Я довольно новичок в этом и хотел бы получить некоторую помощь.

Допустим, у меня есть многомерный массив, который собирает btnID, цвет и непрозрачность. У меня есть 26 кнопок с надписями btn1 — btn26, стиль которых я хотел бы изменить на набор стилей, если идентификатор кнопки совпадает.

Я знаю, что должен использовать цикл. Итак, вот о чем я думаю и где мне нужна помощь.

 var styleSet = [['btn5', 'green', .7], ['btn11', 'red', .3], ['btn18', 'blue', .7]];

for (var i = 0; i < styleSet.length; i  ) {
  document.getElementById(styleSet[i][0]).setAttribute('color', styleSet[i][1], 'opacity', styleSet[i][2]);
  }
  

Комментарии:

1. developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute В документации не показано, что вы можете обновлять более одной вещи одновременно.

Ответ №1:

Во-первых, если вы хотите задать стили, которые вы должны использовать style . А также я добавил проверку на случай, если некоторые из них IDs не существуют.

 var styleSet = [['btn5', 'green', .7], ['btn11', 'red', .3], ['btn18', 'blue', .7]];

for (var i = 0; i < styleSet.length; i  ) {
if(document.getElementById(styleSet[i][0])){
document.getElementById(styleSet[i][0]).style.color = styleSet[i][1];
document.getElementById(styleSet[i][0]).style.opacity = styleSet[i][2]
}
}  
 <button id='btn11'>
  testButton
</button>
<button id='btn5'>
  testButton2
</button>