javascript - 尝试使用 if 和 else 添加类但无法正常工作

标签 javascript jquery if-statement

我正在尝试使用 if 和 else 添加类,但它无法超出 if 无法到达 else 的范围。

$('.headings aside').click(function() {
    if ($(this).children('span').hasClass("fa-caret-up")) {
      $(this).children('span').addClass('borderGap');
      alert("Hello! I am an alert box!!");
    } else {
      alert("Second Alert");
      $(this).children('span').removeClass('borderGap');
    };
});

提前致谢

最佳答案

您的代码有效:

<aside> 
    <span class="no_class">no class</span>
</aside>

$('aside').click(function() {
    if ($(this).children('span').hasClass("fa-caret-up")) {
      $(this).children('span').addClass('borderGap');
      alert("Hello! I am an alert box!!");
    } else {
      alert("Second Alert");
      $(this).children('span').removeClass('borderGap');
    };
});

http://jsfiddle.net/cpyq6a5r/

问题是,行为将取决于 html 标记。

示例:如果您有 2 个跨度

<span class="no_class">no class</span>
<span class="fa-caret-up">no class</span>

它永远不会进入“else”语句,因为aside有一个带有类“fa-caret-up”的跨度

关于javascript - 尝试使用 if 和 else 添加类但无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29561610/

相关文章:

javascript - dojo 从 dijit.form.MultiSelect 中删除项目

javascript - 从客户端上传到 backblaze

javascript - 单击按钮时对 Firebase 数据进行排序

C - If 条件中的变量声明在 else 中可用吗?

有人能告诉我为什么我的 if/else 语句不起作用吗?

linux - 如何在 Bash 中的 If 语句中更改变量值?

javascript - 在 Angular 中从服务器下载文本/csv 内容作为文件

javascript - 了解 javascript 高级语法和对象表示法

jquery - 更改字符串中文本的样式

javascript - 使用 Ajax、PHP 和 jQuery 提交表单