抱歉,我是新手。
是否有特定原因,为什么此代码段中的 if 语句不起作用?如果是,有人可以指出我正确的方向吗?
var app = (function(){
selector = {
app: ".js-app",
app__home: ".js-app__home"
}
foo();
foo = function () {
console.log(selector.app__home);
if ($(selector.app).hasClass(selector.app__home)) {
console.log("is home page")
}
}
})();
$(document).on("ready", function() {
app();
});
不过,第一个 console.log() 输出(if 语句之外的那个)工作正常。 谢谢!
最佳答案
在这里您可以找到更新的代码...“foo”函数在其定义之前调用,因此将“foo”函数调用移到“foo”函数定义之后...并且无需使用“.”。在 hasClass 方法上...删除了 '.'来自 app__home 属性...
var app = (function(){
selector = {
app: ".js-app",
app__home: "js-app__home"
}
foo = function () {
console.log(selector.app__home);
if ($(selector.app).hasClass(selector.app__home)) {
console.log("is home page")
}
}
foo();
})();
$(document).on("ready", function() {
app();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="js-app js-app__home">
</div>
关于javascript - Java Script/jQuery – 简单的 if 语句不适用于预定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52055684/