Кнопка должна переключаться с исходного (черного) на желтый и возвращаться обратно. Моя проблема заключается в том, чтобы вернуть его обратно. В операторе if-else работает только оператор else. Я пробовал оператор switch, но это не работает HTML
var buttonElement = document.getElementById("title-button");
var elementbutton = buttonElement;
var elementsArray = document.getElementsByTagName("h1");
var element = elementsArray[0];
elementbutton.addEventListener( "click", function(){
if (elementbutton.hasOwnProperty("yellow")){
element.remove("yellow");
element.classList.remove("bordered-text");
element.style.add = "black";
} else {
element.style.color = "yellow";
element.classList.add("bordered-text");
}
});
.bordered-text{
border-style: solid;
border-color: black;
}
<button id = "title-button">Alters title</button>
<h1>Header 1</h1>
Кнопка, которую вы нажимаете, не имеет свойства с именем желтый, поэтому elementbutton.hasOwnProperty("yellow")
всегда оценивается как false
, поэтому блок еще всегда выполняется.
Вместо того, чтобы проверять hasOwnProperty
нажатой кнопки, вы должны проверить element.style.color
из h1
:
var buttonElement = document.getElementById("title-button");
var elementbutton = buttonElement;
var elementsArray = document.getElementsByTagName("h1");
var element = elementsArray[0];
elementbutton.addEventListener( "click", function(){
if (element.style.color == "yellow"){
element.style.color = "black";
element.classList.remove("bordered-text");
} else {
element.style.color = "yellow";
element.classList.add("bordered-text");
}
});
.bordered-text{
border-style: solid;
border-color: black;
}
<button id = "title-button">Alters title</button>
<h1>Header 1</h1>
Здравствуйте и добро пожаловать в StackOverflow. Пожалуйста, найдите время, чтобы прочитать страницу справки, особенно разделы «На какие темы я могу здесь спросить?» и «Каких вопросов мне следует избегать?». И что еще более важно, пожалуйста, прочитайте контрольный список вопросов о переполнении стека. Вы также можете узнать о Минимальные, полные и проверяемые примеры.