从jQuery更改CSS

时间:2013-02-25 16:03:13

标签: jquery html css colors children

我试图通过jQuery更改div的CSS。下面是jQuery代码。

$(".endPollingButton").click(function () {
    var endPollingCode = $(this).attr("value");
    var correctAnswer = parseInt($(this).attr("id"));
    for(LCV=1;LCV<=5;LCV++) {
        if(LCV == correctAnswer) {
            $("#"+endPollingCode).children(".Bars_"+LCV).css("background-color","green");
            alert("check");
        } else {  
            $("#"+endPollingCode).children(".Bars_"+LCV).css("background-color","red");
            alert("check");
        }
    }
});

这是html代码:

for($LCV = 1; $LCV <= $rowCount; $LCV++) {
                    echo "<div class='graphBlock' id='".$questionCode[$LCV]."' value=''>";
                    echo "<div id='questionCodeBar'>Quiz Code: ".$questionCode[$LCV]."</div>";
                    echo "<div id='questionTitleBar'>".$questionName[$LCV]."</div>";
                    echo "<span class='barsInfo' id='barsInfo1".$LCV."'></span><div class='bars_1' id='bars1".$LCV."' style='width:;'></div>";
                    echo "<span class='barsInfo' id='barsInfo2".$LCV."'></span><div class='bars_2' id='bars2".$LCV."' style='width:;'></div>";
                    echo "<span class='barsInfo' id='barsInfo3".$LCV."'></span><div class='bars_3' id='bars3".$LCV."' style='width:;'></div>";
                    echo "<span class='barsInfo' id='barsInfo4".$LCV."'></span><div class='bars_4' id='bars4".$LCV."' style='width:;'></div>";
                    echo "<span class='barsInfo' id='barsInfo5".$LCV."'></span><div class='bars_5' id='bars5".$LCV."' style='width:;'></div>";
                    echo "<button class='endPollingButton' id='".$correctAnswer[$LCV]."' value='".$questionCode[$LCV]."' >End Polling</button>";
                    echo "</div>";
                }       

上面的代码不起作用。我不确定是否存在语法错误。两个检查警报都有效。如果您需要更多代码,例如与之链接的HTML,请告诉我,我很乐意提供。如果可以的话请帮忙。感谢。

请帮助.......

5 个答案:

答案 0 :(得分:1)

看起来像单/双/三等于拼写错误。

if(LCV = correctAnswer) {

应该是

if(LCV === correctAnswer) {

另外,你的第二个css调用中有一个点,应该有一个逗号。

您可能还会考虑在parseInt调用中添加一个基数,以防它解析的字符串以0或其他一些不幸的字符开头:)

Radix是你要解析整数的基础。例如,字符串“101”可以被读作“一百零一”基数10,或者它可以被解释为二进制数,意思是“九”。除非您提供的字符串以parseInt0开头,否则0x默认为10。查看https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/parseInt

上的文档

编辑:

我认为这是一个逻辑问题,而不是语法问题。正确答案总是[1,2,3,4,5]中的数字吗?您还应该更改在if / else块中收到警报的消息,以便您可以知道正在执行哪一个。

答案 1 :(得分:0)

你的意思是(LCV == correctAnswer)? :)

答案 2 :(得分:0)

也正确LCV = correctAnswer 而不是使用赋值运算符使用“==”比较操作符

答案 3 :(得分:0)

我发现了问题。你们根据我给你的信息正确回答。结果我所指的那个班,“。Bars _”+ LCV,应该是,“。bars _”+ LCV。谢谢你的帮助。我真的很感激

答案 4 :(得分:-1)

您的功能中存在语法错误

正确
         $( “#” + endPollingCode)。儿童( “酒吧_ ”+ LCV)的CSS(“ 背景色”, “红色”);

     $("#"+endPollingCode).children(".Bars_"+LCV).css("background-color","red");