如何从动态数据的Javascript设置CSS

时间:2018-05-21 04:40:08

标签: javascript css google-app-maker

我想设置'状态'标签及其css字体颜色基于其有效性并尝试以下内容:

/**
 * To return status and set their label color according to expiration date
 */

function getStatusName(DueDate) {

  var a = app.pages.Dashboard.descendants.Table2Body.children.Table2Row.children.status;

  var status = 'Valid';

  if (DueDate < new Date()) {
    status = 'Expired';
  }

  switch(status) {
    case 'Valid':
        a.styles.color = green;
        break;
    case 'Expired':
        a.styles.color = red;
        break;
    default:
        return;
  }

  return status;
}

标签的工作除了设置该标签的颜色外。在Js中设置CSS的正确方法是什么?这是我在Google App Maker中的服务器脚本之一。

2 个答案:

答案 0 :(得分:2)

如果a是正确的元素,则以下代码应该有效(与代码的区别在于&#34;样式&#34;而不是&#34;样式&#34;并将css值封装在双引号中):

/**
 * To return status and set their label color according to expiration date
 */

function getStatusName(DueDate) {

  var a = app.pages.Dashboard.descendants.Table2Body.children.Table2Row.children.status;

  var status = 'Valid';

  if (DueDate < new Date()) {
    status = 'Expired';
  }

  switch(status) {
    case 'Valid':
        a.style.color = "green";
        break;
    case 'Expired':
        a.style.color = "red";
        break;
    default:
        return;
  }

  return status;
}

更多信息:https://www.w3schools.com/js/js_htmldom_css.asp

答案 1 :(得分:1)

我宁愿选择标签的样式属性的绑定:

@datasource.item.DueDate < new Date() ? ['green'] : ['red']

和几个CSS类:

.green {
  color: green;
}

.red {
  color: red;
}

同样的技巧应该适用于标签的文本绑定:

@datasource.item.DueDate < new Date() ? 'Valid' : 'Expired'