1

私はオンラインクイズアプリケーションを開発しており、すべての質問のリストを提供し、ユーザーが質問番号をクリックすると、それぞれの質問が表示されます。ユーザーが質問番号をクリックすると、質問番号付きセルの背景色が変更されます。このため、私の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 で CSS を使用するのは初めてです。私を助けてください。前もって感謝します


それはおそらくあなたの最後の声明です:

$('.chatstatus').html() == chatstatustext?"close":"open";

chatstatustext真か偽かをテストしていますが、文字列値です。chatstatustext空の文字列以外の文字列が含まれている場合、常に.chatstatus「close」と等しくなります。

4

3 に答える 3

4

使用する

document.getElementById(x).style.backgroundColor="#4ead3a";

http://www.w3schools.com/jsref/prop_style_backgroundcolor.asp

于 2013-08-09T10:31:03.390 に答える
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 while を呼び出すのを逃します:

onclick="changecolor(<?php echo i;?>)">
于 2013-08-09T10:36:16.883 に答える
0

それ以外の

    document.getElementById(x).style.background-color="#4ead3a";

使用する

    document.getElementById(x).style.background="#4ead3a";
于 2013-08-09T10:34:09.137 に答える