我想根据if语句更改元素的CSS类。
这就是我所拥有的:
HTML
<div data-dojo-attach-point="waitIcon" class="rightNode">
CSS
.rightNode{
float: right;
height: 75px;
width: 60px;
margin-top: 20px;
}
.noWaitIcon{
float: right;
height: 75px;
width: 60px;
margin-top: 34px;
}
JS
if (value == 0){
domClass.remove(this.waitIcon, "rightNode");
domClass.add(this.waitIcon, "noWaitIcon");
else{
domClass.remove(this.waitIcon, "noWaitIcon");
domClass.add(this.waitIcon, "rightNode");
}
答案 0 :(得分:2)
data-dojo-attach-point
属性在您创建基于模板的小部件时有效。
this
很可能并不是指正确的对象。
无论如何,这里有一个jsfiddle dom-class。
require( [
'dojo/dom',
'dojo/dom-class',
'dojo/domReady!'
], function(dom, domClass) {
function swapColor( ){
if (value == 0){
domClass.remove('node', 'red');
domClass.add('node', 'green');
value = 1;
}
else{
domClass.remove('node', 'green');
domClass.add('node', 'red');
value = 0;
}
}
value = 0;
dom.byId("btn").onclick = swapColor;
});