如何结合javascript与HTML,使表改变颜色取决于值
How to incorporate javascript with HTML to make table change color depending on value?
我如何创建一个javascript,将改变框的颜色取决于它的值?
<table>
<tr class="top row">
<th> Status </th>
<th> Name</th>
<th> StudentID </th>
<th> Grades </th>
</tr>
<tr>
<td> BAD </td>
<td> Jason </td>
<td> 955012 </td>
<td> 20 </td>
</tr>
</table>
如;如果box value (td) = OK,则box为绿色,如果value为BAD,则box为黄色。
基于类似问题的当前Java脚本
$('#test [id^="available_"]').each(function(){
var closestTd = $(this).closest('td');
var valueCache = parseInt($(this).val());
if(valueCache === CRITICAL) {
closestTd .addClass('red');
}
else if(valueCache === BAD) {
closestTd.addClass('yellow');
}
else {
closestTd.addClass('green');
}
});
实际上,您可以使用纯CSS来做到这一点。
注意值为
的data-status
属性<table>
<tr class="top row">
<th> Status </th>
<th> Name</th>
<th> StudentID </th>
<th> Grades </th>
</tr>
<tr>
<td data-status="BAD"> BAD </td>
<td> Jason </td>
<td> 955012 </td>
<td> 20 </td>
</tr>
</table>
和CSS样式
tr td[data-status="OK"] {
background-color: green;
}
tr td[data-status="BAD"] {
background-color: yellow;
}
的例子http://codepen.io/KarlDoyle/pen/jraJEB
给每个td一些类名,你想应用check on value基于ie使用以下代码
<html>
<head>
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$( document ).ready(function() {
if($(".chkval").text()=="OK"){
$(".chkval").css("background-color","green");
}
else if($(".chkval").text()=="BAD"){
$(".chkval").css("background-color","yellow");
}
});
</script>
</head>
<body>
<table>
<tr class="top row">
<th> Status </th>
<th> Name</th>
<th> StudentID </th>
<th> Grades </th>
</tr>
<tr>
<td class="chkval"> BAD </td>
<td> Jason </td>
<td> 955012 </td>
<td> 20 </td>
</tr>
</table>
</body>
</html>
您需要使用innerHTML
从td
获取值:
<table>
<tr class="top row">
<th> Status </th>
<th> Name</th>
<th> StudentID </th>
<th> Grades </th>
</tr>
<tr>
<td id="td"> OK </td>
<td> Jason </td>
<td> 955012 </td>
<td> 20 </td>
</tr>
</table>
<script src="path/to/your/script.js"></script>
script.js:
var td = document.getElementById('td');
if(td.innerHTML == ' OK ')
td.style.backgroundColor = 'green';
else if(td.innerHTML == ' BAD ')
td.style.backgroundColor = 'yellow';
EDIT:添加JS函数trim()
:
var td = document.getElementById('td');
if(td.innerHTML.trim() == 'OK')
td.style.backgroundColor = 'green';
else if(td.innerHTML.trim() == 'BAD')
td.style.backgroundColor = 'yellow';
另一个使用JS的解决方案。
这是一个函数,它将一个唯一的类应用于每个具有指定值的td。
function addTdClass(string) {
var element = document.getElementsByTagName('td');
for (var i = 0; i < element.length; i++) {
var str = element[i].innerHTML;
if (str.indexOf(string) !== -1) {
element[i].className = 'td-' + string;
}
};
}
addTdClass('BAD');
生活的例子http://codepen.io/KarlDoyle/pen/kkxqbv
相关文章:
- 如何用jquery动画改变背景颜色,就像一个过渡
- 如何使细胞一次改变一个颜色,而不是一次改变所有颜色
- jQuery改变背景颜色不工作
- 当改变背景颜色的html选择,第一个选项改变它
- 随着背景颜色的变化而改变按钮颜色
- 高图-改变背景颜色沿特定的日期范围
- 聚合物改变应用颜色
- JavaScript:在点击时改变背景颜色(切换类)
- 每秒钟在红色和绿色之间改变背景颜色
- Jquery改变背景颜色悬停,不断闪烁
- 改变背景颜色不透明度与时间间隔
- Javascript -根据一天中的时间改变渐变颜色的主体
- HTML5颜色选择改变跨度颜色
- 逐渐改变背景颜色
- 获取JavaScript oninput函数来改变背景颜色
- 根据被过滤的值来改变字体颜色
- 使用Javascript和RGBA改变背景颜色渐变
- 如何使用Angularjs指令根据动态值改变文本颜色
- 单选按钮不改变背景颜色HTML/CSS
- 改变边框颜色Javascript