需要为元素添加一个类

时间:2013-12-31 23:46:22

标签: javascript css

这是我的代码:

<body>
<header>
<h1>Html quiz</h1>
</header>
<article>
<h2>What color is this?&nbsp;&nbsp; #00ff00

<ul>
    <li>
    <input type="radio" name="color1" id="red" />&nbsp;&nbsp;red
    </li>
    <li>
    <input type="radio" name="color1" id="green" />&nbsp;&nbsp;green
    </li>
    <li>
    <input type="radio" name="color1" id="blue" />&nbsp;&nbsp;blue
    </li>
    <li>
    <input type="radio" name="color1" id="teal" />&nbsp;&nbsp;teal
    </li>
    <li>
    <input type="submit" name="submit" value="Submit" onClick="fsubmit()" />
    </li>
</ul>
</article>
<div id="result"> </div>
<script>
function fsubmit() {
var answer = document.getElementById("green");
var result = document.getElementById("result");
if(answer.checked == true) {result.innerHTML="correct!";} else {result.class="red";  result.innerHTML="wrong";}
}
</script>
</body>

这是代码的第一位 result.class =“red”什么都不做,而chrome上的调试控制台并不表示存在问题。

5 个答案:

答案 0 :(得分:5)

您可以使用result.className = 'red';,但也可以使用result.classList.add('red');。如果您需要一般地添加一个类,并且不想检查该类是否已经在类列表中,那么.classList.add(str)方式通常会更容易。

答案 1 :(得分:2)

您应该使用className

result.className = "red"

答案 2 :(得分:0)

您缺少关闭的h2代码。它应该是:

<h2><!-- Content --></h2>

答案 3 :(得分:0)

您可能需要以下内容:

result.className = 'red';

在纯JavaScript中,您应该使用className来处理类。 jQuery有一个名为addClass的抽象。

答案 4 :(得分:0)

尝试在结果上使用setAttribute:

result.setAttribute("class","red");