【发布时间】:2016-09-05 04:25:50
【问题描述】:
我试图了解 javascript(在本例中为 jquery)if 语句的工作原理。我以为我明白了,但我没有完全明白一些事情。请看下面的代码。为什么当我单击“cat”类的元素时,它没有删除“black”类并添加“red”类。
$(function() {
var cat = true;
$( ".cat" ).click(function() {
cat = false;
});
if (cat === true) {
$('.cat').removeClass('red').addClass('black');
} else {
$('.cat').removeClass('black').addClass('red');
}
});
我知道这可能有一个非常简单的答案,但我只是在学习,所以任何帮助将不胜感激,在此先感谢。
【问题讨论】:
-
您没有将
if语句放在click函数中,所以它不会执行。 -
先将
cat设置为true,然后立即检查它是否与true 相同,既然是,则删除红色类并添加黑色类。当有人点击 cat 元素时,唯一发生的事情就是您将变量cat设置为 false,仅此而已。 -
问题不是 if 语句,而是代码执行的时候。首先将 cat 设置为 true,然后添加一个点击处理程序,然后检查 cat 是否为 true(它始终为 true)。将来某个时候可能会单击 cat 元素,但您唯一要做的就是将 cat 变量设置为 false,因为这是您在 click-event-handler 中放入的唯一内容。您的 if 语句不会被重新评估,因为它不是您的 click-event-handler 的一部分。
-
检查我的更新答案
标签: javascript jquery variables if-statement