使用node.js将div的类更改为其他CSS类的类

时间:2016-10-05 20:37:09

标签: javascript jquery html css node.js

我有一个index.html文件,其中包含一些默认为绿色的框。我想使用node.js来改变那些盒子的颜色(通过将&#34更改div类;红色"到"绿色")根据我计划从休息中得到的值API(基本上是0或1)。

<div id="JIRA" class="small-box bg-green">

我希望能够阅读index.html,然后更改:

class="small-box bg-green">

class="small-box bg-red">

然后在将更改发送给用户之前将更改写回index.html。我会使用客户端js,但出于安全原因,我无法公开API令牌。

我已经看过cheerio和jsdom解析和操作HTML但是我一直无法找到如何更改实际类的示例。这是可以用node.js吗?

2 个答案:

答案 0 :(得分:1)

我在最初的问题中并没有提供足够的信息,但我能够弄清楚如何做我想要的事情,所以我想我会发布我遇到的信息。

请注意,这个需要在服务器端完成的唯一原因 - 而不是在客户端JS中 - 是因为我需要将API请求发送到需要API令牌的服务。此服务不提供提供只读API令牌的功能,因此在客户端Javascript中公开主API令牌是一个很大的安全问题(使用开发人员工具的任何人都可以完全控制该服务)。 p>

使用express作为我们的节点服务器来提供静态服务,我为/ getStatus添加了一个app.get行: app.get('/getStatus', function (req, res){ .... }); 该函数将向有问题的API发出请求,并返回json响应。

其余的是使用客户端Javascript完成的。 $(document).ready(function(){ $.get('http://' + window.location.hostname + ':8080/getStatus', function(status){ $('response').html(status); 从最后一行开始,status将包含JSON对象以及我需要的相关详细信息。那么这只是使用document.getElementById(id).className = "the class name";

的问题

感谢那些发表评论和答案的人。

答案 1 :(得分:0)

相反,只需使用模板引擎Lookup Pug Templating Engine