我有一个包含元素的 div。当我单击一个元素时,就会发生一项操作。在操作期间,我想让我的 div 颜色更改为黑白,并且在操作之后它将重置颜色。
所以我创建了一个简单的 css3 类:
gray {
background-color:red;
-moz-filter: grayscale(100%);
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
在我的脚本中我有两个函数:
function enableWaitState( ) {
$($("#chart")).addClass( "gray");
}
function disableWaitState( ) {
$($("#chart")).removeClass( "gray");
}
在我的 javascript 代码中,我编写了单击按钮时调用的方法:
function back() {
enableWaitState( );
// here doing some javascript code
disableWaitState( );
}
}
不幸的是,它不起作用。但是如果我在enableWaitState()和disableWaitState()之间进行ajax调用,它就会起作用!
有什么想法吗?
最佳答案
您需要从选择器中删除额外的 $()
。
function enableWaitState( ) {
$("#chart").addClass( "gray");
}
function disableWaitState( ) {
$("#chart").removeClass( "gray");
}
此外,此代码仅在图表元素加载到 DOM 中后才起作用。您可以使用控制台来检查:
console.log($("#chart").length)
关于javascript - JQuery/JavaScript addClass 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45780090/