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

最佳答案

data-dojo-attach-point属性在创建基于模板的窗口小部件时起作用。

this很可能没有引用正确的对象。

无论如何,这里是dom类的jsfiddle起作用。

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;


});

关于javascript - 使用dojo更改<div>的CSS类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30939969/

10-11 12:59