У меня есть несколько красных и черных кнопок, и я хочу добавить события onmousedown и onmouseup к набору красных кнопок, которые имеют один и тот же класс («кнопка красная»).
onmousedown Я хочу изменить, добавить класс «непрозрачный», а onmouseup снова удалить его.
Таким образом, onmousedown красная кнопка, которая была «выбрана», становится слегка прозрачной, а onmouseup возвращается к нормальному (красному). Остальные кнопки остаются без изменений.
CSS
.button {
background-color: black;
color: white;
height: 30px;
width: 150px;
text-align: center;
}
.button.red {
background-color: red;
}
.button.red.opaque {
opacity: 0.7;
}
javascript (пока что)
var classname = this.document.getElementsByClassName("button red");
for (var i = 0; i < classname.length; i++) {
classname[i].addEventListener('onmousedown', classList.add("opaque"), false);
classname[i].addEventListener('onmouseup', classList.remove("opaque"), false);
}
.button red opaque
ищет<opaque>
элементов (не классов), которые являются потомками<red>
элементов (не классов), которые являются потомками элементов, использующих классbutton
. Должно быть.button.red.opaque
. То же самое с вашим селектором.button red
. - person Scott Marcus   schedule 08.02.2018"button red"
не является допустимым именем для класса.getElementsByClassName
не поддерживает одновременный выбор по нескольким именам классов, используйте для этогоquerySelectorAll()
с правильным селектором CSS. И.button red opaque
означает узел<opaque>
внутри узла<red>
внутри некоторого узла с классомbutton
. Вы, вероятно, имели в виду.button.red.opaque
- person Thomas   schedule 08.02.2018getElementsByClassName
поддерживает несколько имен классов: developer.mozilla.org/en- США/документы/Интернет/API/Документ/ - person sliptype   schedule 08.02.2018