【发布时间】:2013-04-05 07:51:39
【问题描述】:
我有一个包含 3 列的表格:
- field1 是一个类别
- field2 和 field3 保存度量值(确切地说是整数 1、2、3、4 和 5)。
使用 Javascript,我如何有条件地将表格中包含这些度量的单元格的背景颜色(特别是 field2 和 field3)格式化为与以下颜色相对应:
- 单元格为 1 为红色
- 具有 2,3 和 4 的单元格为蓝色
- 5 个单元格为绿色
这是我目前所拥有的(现在全部在一个 HTML 文件中,就在我整理它的时候),为了便于阅读,我已经将它分解了。我想我可能完全错过了 HTML 中的背景属性。我知道这是可能的,但不确定如何使用 Javascript 根据其内容动态更改表格单元格的背景颜色。
提前致谢。
脚本开始
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$( "#status_report td.measure:contains('1')" ).css('background-color', '#fcc' );
});
</script>
<style type="text/css">
</style>
</head>
<body>
<table id="status_report">
<tr>
<th>field1</th>
<th>field2</th>
<th>field3</th>
</tr>
<tr>
<td class = "measure">Example</td>
<td class = "measure">1</td>
<td class = "measure">2</td>
</tr>
</table>
</body>
</html>
更新:
一条评论指出了一个语法错误(额外的分号),该错误已被删除,上面的代码可以正常工作。但是,发布了一个更好的答案并已被接受。
【问题讨论】:
-
你的
<td>标签没有.measure类,因此jQuery选择器找不到对应的元素。 -
@VisioN 抱歉,我的代码中有这些,只是忘记在此处包含它们。我已经更新了代码以包含度量类,但我认为 javascript 不正确。 ://
-
jQuery 在客户端工作;因此 PHP 与问题无关;你能显示浏览器收到的 HTML 吗?
-
@BenJones 还有一个语法错误:分号
;在 JavaScript 中关闭)括号之前。 -
@DavidThomas 是的,感谢 w 的解释。你的要求也是,因为它帮助我理解为什么并学习。我会更新的。如果您有任何想法,请提出一些建议。 :) 干杯
标签: javascript php html css formatting