我很难根据select
标签中的所选项目更改元素类。这是我的代码:
<table>
<tr>
<select onchange="wow(this.value)">
<option value="a">a</option>
<option value="b">b</option>
</select>
</tr>
<tr id="x" class="show">
x
</tr>
</table>
<script>
function wow(value){
switch(value){
case "a": document.getElementById("x").className = "show"; break;
case "b": document.getElementById("x").className = "hide"; break;
}
}
</script>
<style>
.show{
display:inline-block;
}
.hide{
display:none;
}
</style>
我在这里看不到任何问题。我也试过了setAttribute("class", "show")
但是没有用。
答案 0 :(得分:7)
您必须将X
包裹在<td>
:
http://jsfiddle.net/DerekL/CVxP7/
<tr>...<td id="x" class="show">x</td></tr>
此外,您必须在case
"a":
case "a":
document.getElementById("x").setAttribute("class", "show");
break;
PS:有一种更有效的方法可以实现您在此尝试的目标:
http://jsfiddle.net/DerekL/CVxP7/2/
function wow(value) {
var index = {
a: "show",
b: "hide"
};
document.getElementById("x").setAttribute("class", index[value]);
}
现在您不需要输入document.getElementById("x").setAttribute("class"...
两次。
答案 1 :(得分:0)
试试这个
switch(value){
case "a": document.getElementById("x").setAttribute("class", show); break;
case "b": document.getElementById("x").setAttribute("class", hide); break;
}