我有一个标题的实时点击事件,该事件在打开和关闭其内容时有一个向上/向下翻转的箭头。
最奇怪的事情发生在!
后面跟着一个变量——它应该把它从 true -> false 翻转,反之亦然。基本上它根本不起作用,它会翻转为 false 并停留在那里......查看小提琴以了解我的意思。
为了简洁起见,我删除了很多代码。
$(document).on('click', '.regimenHeader', function () {
var _state = $(this).attr('data-state');
if (_state === 'true') {
// do stuff
}
else {
// do stuff
}
// This is where the issue is happening, it isn't flipping the Boolean value
// !"true" = false, !true = false, it works with strings or booleans
$(this).attr('data-state', !_state);
});
如果我执行以下操作,我可以让它工作得很好:
if (_state === 'true') {
// Manually flip the data-state boolean
$(this).attr('data-state', false);
}
有什么我想念的,为什么这不能按应有的方式工作?只是想知道它为什么这样做!