我寻找正确的方式(在所有大多数浏览器中工作)来改变单元格表的文本颜色(这是一个链接),当一个表单中的内容改变使用onchange事件。我正在使用这个:
JavaScript代码function changeColor(num){
if (num == "1"){
cont = num - 1;
answer[cont] = 1;
document.getElementById("cell_1").className="cellNumFilled";
}
HTML代码
<table border="1" cellspacing="0" cellpadding="2">
<tr>
<td><a class="cellNum" HREF="#preg1" title="1" id="cell_1">1</a></td>
<td><a class="cellNum" HREF="#preg2" title="2" id="cell_2">2</a></td>
<td><a class="cellNum" HREF="#preg3" title="3" id="cell_3">3</a></td>
</tr>
</table>
<div id="quesItem">
<p><b>1. [ 1 Pts.]</b> bla bla bla</p>
<p>Answer:
<input type="text" name="a6" maxlenght="200" size="20" onchange="changeColor(1)" />
<input type="button" value="Preview"/>
</p>
</div>
完整的"功能代码"在本文档中。
当输入框中的内容改变时,表格顶部的颜色也必须改变。我使用两个类标记,一个默认情况下,另一个当内容通过'document.getElementById("idName"). classname ="newClassName";'改变,但不工作。知道为什么吗?或者有更好更简单的方法?
在设置class之前,像这样删除这个属性
document.getElementById("cell_1").removeAttribute("class")
和
document.getElementById("cell_1").setAttribute("class","cellNumFilled")
尝试如下:
document.getElementById("idName").setAttribute('class', 'className');