Javascript jQuery条件addClass不工作

Javascript jQuery条件addClass不工作,javascript,jquery,addclass,Javascript,Jquery,Addclass,有点挂断了jQuery addClass。我的标记中有一个#story div,它在获得“away”类时缩小,然后在失去该类时弹出 问题是: $('#story div.x').on('click', function () { if (!$('#story').hasClass('away')) { $('#story').addClass('away'); } }); 上面的代码只是在我的故事元素中添加了一个空白class=“”,但是 $('#story div.x').o

有点挂断了jQuery addClass。我的标记中有一个#story div,它在获得“away”类时缩小,然后在失去该类时弹出

问题是:

$('#story div.x').on('click', function () {
  if (!$('#story').hasClass('away')) {
    $('#story').addClass('away');
  }
});
上面的代码只是在我的故事元素中添加了一个空白class=“”,但是

$('#story div.x').on('click', function () {
  if (!$('#story').hasClass('away')) {
    setTimeout(function () {
      $('#story').addClass('away');
    }, 1000);
  }
});
该代码添加了相应的class=“away”属性


给出了什么?

听起来好像有另一个事件在更新类,或者可能元素还没有准备好,但在1秒后变为可用,可能是在ajax调用后或DOM准备好时


可能是这样吗?

您是否在其他地方更新了
#story
元素的类?跟进Alexander的问题:是否会有另一个单击事件处理程序,在您发布到此处的事件处理程序之后被调用,即清除该类?您可以通过从“单击”事件处理程序函数返回
false
来快速测试这一点。@Mathletics,该代码的工作原理与OP的工作原理不同using@Alexander你是对的;这只是单向的。哎呀@数学,实际上,如果他想简化它,那就是去掉条件