我想创建一个带有一些可以改变背景颜色的td单元格的html表格,从红色到绿色(" C"到#34; A")和从绿色到红色( " A"到" C"),使用"选择onchange"。 它第一次工作,但不是第二次。
这是JS
<script type="text/javascript">
function change(id){
var x=document.getElementById(id);
x.style.backgroundColor="#e50017";//red
}
function exchange (id){
var x=document.getElementById(id);
x.style.backgroundColor="#009900";//green
}
</script>
这是HTML
<form id="menuForm" name="menuForm" >
<table summary="layout table">
<tbody>
<tr>
<td rowspan="1" colspan="1" id="prova" width="35px" align="center" bgcolor="#e50017">
M
<br>
<select onchange="exchange('prova')" name="select1">
<option value="0" selected="selected">C</option>
<option value="1">A</option>
</select>
</td>
<td rowspan="1" colspan="1" id="prova1" width="35px" align="center" bgcolor="#009900">
M
<br>
<select onchange="change('prova1')" name="select2">
<option value="1" selected="selected">A</option>
<option value="0">C</option>
</select>
</td>
</tr>
</tbody>
</table>
</form>
答案 0 :(得分:2)
我建议改为转换类名。它将使其变得简单灵活 - 例如,它不仅可以轻松更改背景颜色,还可以轻松更改任何其他样式,甚至无需触摸javascript函数:
function change(id) {
var x = document.getElementById(id);
x.className = x.className === 'red' ? 'green' : 'red';
}
&#13;
.red {
background: #e50017;
}
.green {
background: #009900;
}
&#13;
<form id="menuForm" name="menuForm">
<table summary="layout table">
<tbody>
<tr>
<td rowspan="1" colspan="1" id="prova" width="35px" class="red" align="center">M
<br>
<select onchange="change('prova')" name="select1">
<option value="0" selected="selected">C</option>
<option value="1">A</option>
</select>
</td>
<td rowspan="1" colspan="1" id="prova1" width="35px" class="green" align="center">M
<br>
<select onchange="change('prova1')" name="select2">
<option value="1" selected="selected">A</option>
<option value="0">C</option>
</select>
</td>
</tr>
</tbody>
</table>
</form>
&#13;