Javascript 如果click函数中的语句不存在';第一次单击后无法按预期工作

Javascript 如果click函数中的语句不存在';第一次单击后无法按预期工作,javascript,jquery,Javascript,Jquery,检查下面的代码 当我第一次点击span时,它会触发markStarted功能和fa图标,并成功更新数据事件。我在dev控制台中启动了 当我再次单击它时,(不重新加载页面)markFinished不会被触发。我仍然在控制台中“开始” 我做错了什么 <span class="label label-info check " data-id="4" data-aevent="finish"><i class="fa fa-check fa-fw"></i></

检查下面的代码

当我第一次点击
span
时,它会触发
markStarted
功能和
fa
图标,并成功更新
数据事件。我在dev控制台中启动了

当我再次单击它时,(不重新加载页面)
markFinished
不会被触发。我仍然在控制台中“开始”

我做错了什么

<span class="label label-info check " data-id="4" data-aevent="finish"><i class="fa fa-check fa-fw"></i></span>
点击功能

$(function() {
    $(".check").on("click", function() {
      var task = $(this);
      var task_id = task.data("id")
      var aevent = task.data("aevent");

      if (aevent == "start"){
        markStarted(task);
      }else {
        markFinished(task);
      }

    });
  });

markStarted
中,您正在调用
task.data(“data aevent…”
,您需要在其中调用
task.data(“aevent”…

尝试将
task.attr(“data aevent”,nextstate)
更改为
task.data(“aevent”,nextstate)
。我明白了,请更新代码,以免其他人对其产生混淆:)@dMd,没有区别是的,你是对的,我是在旧的jquery 1.4.2中导入的haha@railsr查看Joah的答案。这就是你做错的地方:)谢谢,但是
任务。数据(“aevent”,“eewew”);
不会在span内更新'data aevent'。问题恰恰在于使用
数据-
部分
数据aevent
。谢谢
$(function() {
    $(".check").on("click", function() {
      var task = $(this);
      var task_id = task.data("id")
      var aevent = task.data("aevent");

      if (aevent == "start"){
        markStarted(task);
      }else {
        markFinished(task);
      }

    });
  });