以下html-webpage包含一个按钮。如果单击页面中包含的按钮,按钮的颜色应该变为红色(根据js代码)。但是,它不起作用,我不明白为什么它不起作用。 事实上,我周围没有人理解为什么它不起作用。如果有人知道发生了什么,请帮助我!
<!DOCTYPE html>
<html>
<body>
<h1>Please click the button below, it will turn red.</h1>
<button type="button" onclick="myFunction(this)">Set background color</button>
<script>
function myFunction(element) {
element.style.backgroundColor = "red";
}
</script>
</body>
</html>
更新:上面的代码有效,对不起。我在发布之前简化了原始代码。我的目标是将代码减少到必要部分。 您可以在下面找到原始代码。如果我按两次按钮,它应该变为绿色。但是,它保持红色。我不明白为什么。
<!DOCTYPE html>
<html>
<body>
<h1>Please click the button below, it will turn red.</h1>
<button type="button" onclick="setColor(this)">Set background color</button>
<script>
lastField = null;
function setColor(element) {
if (element === lastField) {
element.style.backgroundColor = "green";
}
element.style.backgroundColor = "red";
lastField = element;
}
</script>
</body>
</html>
答案 0 :(得分:3)
第一次单击它时,lastField
为空,因此背景设置为红色,lastField
设置为元素。
第二次单击它时,lastField
是元素,因此背景设置为绿色...然后背景立即设置为红色,lastField
设置为元素。
第三次和后续次数与第二次相同。
你需要else
。