我对这段代码有疑问。一切都包含在$(document).ready函数中。我的控制台日志在下面,由于某种原因,即使aoc变量为false,它也会继续进入语句的else部分。我也尝试过使用else if(aoc = true),但同样的事情发生了。
var aoc = false;
$("#aocBtn").click(function(e) {
console.log(aoc);
if (aoc = false) {
$(this).removeClass("btn-outline-primary").addClass("btn-primary");
aoc = true;
console.log("Aoc was false and is now: "+aoc);
} else {
$(this).removeClass("btn-primary").addClass("btn-outline-primary");
aoc = false;
console.log("Aoc was true and is now: "+aoc);
}
e.preventDefault();
});
答案 0 :(得分:0)
if(aoc == false)
您的if语句是赋值,而不是条件,因此它为变量aoc赋值false。替换为“==”运算符,这是条件检查,您的代码应运行正常。
另外,你写过吗
if(aoc = true)
而不是假,那么只有“if”部分才会一直有效。 希望这会有所帮助。
答案 1 :(得分:0)
aoc ? $(this).removeClass("btn-outline-primary").addClass("btn-primary") : $(this).removeClass("btn-primary").addClass("btn-outline-primary");
aoc = !aoc;