使用javascript根据json值更改表格单元格背景颜色
我试图通过基于json值更改颜色表单元格背景来显示客户端的状态(向上或向下):使用javascript根据json值更改表格单元格背景颜色,javascript,Javascript,我试图通过基于json值更改颜色表单元格背景来显示客户端的状态(向上或向下): [{ "client": "client1", "ip": "127.0.0.1", "status": "up" }, { "client": "client2", "ip": "127.0.0.2", "status": "up" }] 我迄今为止的努力: <script> $.getJSON("<webaddress>/clients.j
[{
"client": "client1",
"ip": "127.0.0.1",
"status": "up"
}, {
"client": "client2",
"ip": "127.0.0.2",
"status": "up"
}]
我迄今为止的努力:
<script>
$.getJSON("<webaddress>/clients.json",
function (data) {
var tr;
for (var i = 0; i < data.length; i++) {
tr = $('<tr/>');
tr.append("<td>" + data[i].client + "</td>");
$('table').append(tr);
if(data[i].status == "up")
{
$('td').css ('background-color', 'green');
} else {
$('td').css('background-color', 'red');
};
}
});
</script>
<style type="text/css">
.table {
width: 300px !important;
}
</style>
<div>
<table class="table">
<tr>
<th>Clients</th>
</tr>
</table>
</div>
$.getJSON(“/clients.json”,
功能(数据){
var-tr;
对于(变量i=0;i
当状态为“向上”时,单元格背景保持绿色,但即使我将一个状态更改为“向下”,所有单元格背景也将变为红色。我知道这可能很明显,但我的js知识不是很好,这对我没什么帮助。您使用的是$('td')
,这意味着文档中的所有td标记都可以更改为tr.find('td')
,还有很多其他方法可以做到这一点。希望它能为你工作是的,通过这段代码
$('td').css ('background-color', 'green');
您的所有TDs都将是绿色的
要为所需的td添加颜色,您需要将其更改为
$('td',tr).css ('background-color', 'green');
请注意,
$('td,tr)
只是转过身调用tr.find('td')
。是的,这是一个等价的hanks,这很有效。我不得不删除else语句,我还为tr td{background color:red;}
设置了默认的红色,重点不是它是等价的,而是当您调用$('td',tr)
时,jQuery所做的是找出您所做的事情,然后它真正地调用tr.find('td'))
并返回结果。@在这种情况下,您需要根据任何id将每个td与json中的行相关联。并搜索它-如果存在,只需更改颜色而不添加到DOM。Retr.append(“+data[i].client+”)代码>:强烈建议在创建元素时不要使用原始值到HTML字符串的字符串连接;假设data[i].client
有一个&
或感谢指针,我将更改它。