Я пытаюсь сделать то, что, когда вы нажимаете кнопку, текст станет зеленым, и если вы нажмете его снова, текст будет синий. Моя стратегия в этом было проверить, если текст был зеленым, или если он был синим, но я не знаю, как:Использование выражения «If» для получения значения цветного текста в Javascript
var topcon = document.getElementsByClassName("topchoice");
function show() {
if(topcon.style.color = "blue") {
for (count=0; count < topcon.length; count++) {
topcon[count].style.color = "green";
}
}
else if(topcon.style.color = "green") {
for (count=0; count < topcon.length; count++) {
topcon[count].style.color = "blue";
}
}
}
Однако, это не работает. Он будет оставаться одним и тем же цветом, когда я вызываю функцию show()
. Кто-нибудь знает, почему это не работает?
И если вам интересно, почему я использовал цикл, это потому, что вы не можете getElementsByClassName
без массива, потому что элементы работают с массивами.
вы присваивающий его '=' вы хотите '' === –
'topcon' является сбором узла, он не имеет свойства style, поэтому вы должны получать сообщение об ошибке 'Uncaught TypeError: не можете установить свойство 'color' of undefined' –
Что вы пытаетесь сделать? вы пытаетесь изменить цвет всего элемента на основе цвета первого, или каждый цвет элементов должен переключаться независимо. –