繁体   English   中英

无法更改JavaScript中的特定文本颜色

[英]Unable to change specific text color in javascript

这是我的代码。 这是一个简单的函数,当我显示Active eventStatus时,我需要更改文本颜色:

function() {
    var diff, status;
    diff = moment().diff(date, 'days')
    if (diff > 0) {
      status = 'Ended';
    }
    if (diff < 0) {
      status = 'Pending';
    }
    if (diff === 0) {

      status = 'Active';


        //status.style.color = "#132111"

        // document.getElementById('greenActive').style.color = "green"
    }
    return status;
  }

更新 HTML:

  <td id = "status-column"  >
      <span id="greenActive" >{{eventStatus}}</span>  
   </td>

我试图同时使用“ status.style.color”和“ getElementById”。 结果是数据/文本根本不会显示。

我做错了什么?

预先感谢您的帮助!

编辑:

您的代码正常工作,但正如我所说,您需要确保在加载DOM之后执行代码

 (function() { var diff, status; diff = 0 if (diff > 0) { status = 'Ended'; } if (diff < 0) { status = 'Pending'; } if (diff === 0) { status = 'Active'; document.getElementById('greenActive').style.color = "green" } return status; })(); 
  <td id = "status-column" > <span id="greenActive" >{{eventStatus}}</span> </td> 

在调用函数之前,需要确保已加载的文档和要修改的DOM元素可用。 您可以在此处看到j​​s修改文本颜色的演示

function() {
var diff, status , statusColor = '';;
diff = moment().diff(date, 'days')
if (diff > 0) {
  status = 'Ended';
}
if (diff < 0) {
  status = 'Pending';
}
if (diff === 0) {

  status = 'Active';
  statusColor = '#5CB85C';


    //status.style.color = "#132111"

    // document.getElementById('greenActive').style.color = "green"
}
return <div style="background-color:'+statusColor+'">'+status+'</div>;

}

<td id = "status-column"  >
  <span id="greenActive" >{{eventStatus}}</span>  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM