#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>