0

当表单中的内容使用 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>

完整的“功能代码”在这个jsfiddle中。

当输入框中的内容发生变化时,表格顶部的颜色也必须发生变化。我为 tag 使用了两个类,一个是默认的,另一个是当内容通过 'document.getElementById("idName").className="newClassName";' 但不起作用。知道为什么吗?或者更好更简单的方法来做到这一点?

4

2 回答 2

0

在设置类之前,只需像这样删除该属性

document.getElementById("cell_1").removeAttribute("class")

接着

document.getElementById("cell_1").setAttribute("class","cellNumFilled")
于 2013-03-01T20:37:45.913 回答
0

试试下面的:

document.getElementById("idName").setAttribute('class', 'className');

我希望它有所帮助。

于 2013-03-01T20:02:05.963 回答