我正在开发一个在线测验应用程序,它提供了所有问题的列表,当用户点击问题编号时,应显示相应的问题。当用户点击任何问题编号时,应更改编号为单元格背景颜色的问题。为此,我的JS如下
<script>
function changecolor(x)
{
document.getElementById(x).style.background-color="#4ead3a";
}
</script>
和table
代码如下:
<table border=1>
<tr>
<?php
for($i=1;$i<=$count;$i++)
{ ?>
<td id="<?php echo $i; ?> " align="center" style="width:50px" onclick="changecolor(id)" >
<a href="http://127.0.0.1/example/runquiz.php?x=<?php echo $i; ?>" ><?php echo $i; ?> </a>
<input type="hidden" name=<?php echo $i; ?> value="" >
</td>
<?php }
?>
</tr></table>
和css如下
td{
vertical-align:middle;
background-color:#dbd6d2;
border:1px solid #000000;
border-width:0px 1px 1px 0px;
text-align:center;
padding:7px;
font-size:10px;
font-family:Arial;
font-weight:bold;
color:#000000;
}
但是当我点击任何单元格时,背景颜色保持不变。我是新用的JS和JS。请帮我。提前致谢
答案 0 :(得分:4)
使用
document.getElementById(x).style.backgroundColor="#4ead3a";
http://www.w3schools.com/jsref/prop_style_backgroundcolor.asp
答案 1 :(得分:0)
而不是
document.getElementById(x).style.background-color="#4ead3a";
使用
document.getElementById(x).style.background="#4ead3a";
答案 2 :(得分:0)
<div></div>
这样:
<?php
for($i=1;$i<=$count;$i++)
{ ?>
<div id="<?php echo $i; ?>" style="width:50px;display:inline-table" onclick="changecolor(<?php echo i;?>)">
<a href="http://127.0.0.1/example/runquiz.php?x=<?php echo $i; ?>" ><?php echo $i; ?> </a>
<input type="hidden" name=<?php echo $i; ?> value="" >
<?php } ?>
之后你可以使用jquery并执行以下操作:
function changecolor(id){
$("#"+id).css({"background-color":"#4ead3a"});
}
只是为了让你知道,不推荐使用,无论如何,在你的代码中,你错过了调用I var on for:
onclick="changecolor(<?php echo i;?>)">