使用dojo更改<div>的CSS类

时间:2015-06-19 13:55:03

标签: javascript html css dojo frontend

我想根据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");
}

1 个答案:

答案 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;


});