javascript - Java Script/jQuery – 简单的 if 语句不适用于预定义变量

标签 javascript jquery if-statement

抱歉,我是新手。

是否有特定原因,为什么此代码段中的 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/

相关文章:

javascript - 删除 Angular 中动态创建的弹出框

javascript - jqGrid 中的垂直填充从何而来?

javascript - 单击并按住事件 Javascript

javascript - 单击外部或 ESC 时关闭模态窗口

javascript - 如何点击 UI Automation 中只有坐标的按钮?

jquery - 仅当显示所有条目时才显示页脚

java - 更好的 : switch-case or if-else?

c - if-else 语句

jquery - 使用 JQuery 检测浏览器

javascript - 未捕获的 TypeError : . 可拖动不是函数(...)