JavaScript:无法动态更改HTML单元格颜色
问题描述:
值“-50.9”和“10.87”已被分配给下面的html代码作为变量(value1 = -50.9; value2 = 10.87)。JavaScript:无法动态更改HTML单元格颜色
我的范围:(无限 - 值至-35),(-34至-25),(-24至更大数目)
我假定如果 '如果条件' 为真,则细胞的背景颜色应该改变?
<html>
<head>
<!--<script type="text/javascript">-->
<script language="JavaScript">
function try() {
if (-50.9 <= -25|| 10.87 <= -25) {
document.getElementById("texas").style.backgroundColor='white';
} else if (-50.9 <= -35 || 10.87 <= -35) {
document.getElementById("texas").style.backgroundColor='blue';
} else {
document.getElementById("texas").style.backgroundColor='pink';
}
};
</script>
</head>
<body>
<div id = "div1">
<table>
<tr>
<td id = "texas"><a href="">A = 10.87<br>B = -50.9</a></td>
</tr>
</table>
</div>
</body>
</html>
这能行吗?或者值应该是一个变量?
编辑
我用一个perl脚本通过打印内容来生成这个html。
并且在脚本的开头声明了value1和value2。
所以当脚本打印html表时,它会将变量转换为值。
另外,为什么它在JavaScript中是-50.9和10.87。
我在想,只要if-else条件为真,就可以改变单元格的颜色。
比方说,在这种情况下,表格单元格颜色应该是蓝色的?
因为现在,表格单元格颜色保持不变,没有任何变化。
答
1.更改你的HTML tr标签和分配不同的ID号为值1和值2
<tr>
<td id = "texas"><a href="">
A = <p id = "value1">10.87</p>
<br>
B = <p id = "value2">-50.9</p>
</a>
</td>
2.然后自定义你的JavaScript来实现你的结果
function test() {
var value1 = document.getElementById("value1").innerText;
var value2 = document.getElementById("value2").innerText;
value1 = Number(value1);
value2 = Number(value2);
if (value1 <= -25 || value2 <= -25) {
document.getElementById("texas").style.backgroundColor = 'red';
} else if (value1 <= -35 || value2 <= -35) {
document.getElementById("texas").style.backgroundColor = 'yellow';
} else {
document.getElementById("texas").style.backgroundColor = 'green';
}
};
3 。不要忘记调用函数
test();
真正的问题是什么?你在期待什么,发生了什么? – Utkanos
作为@ D.Peter说 - 你实际上没有调用函数 - 你只是声明它 – ThisGuyHasTwoThumbs
此外,尝试在JavaScript中的关键字,改变你的名字功能 –