0

我正在尝试通过 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,请告诉我,我很乐意提供。如果可以的话请帮忙。谢谢。

请帮忙.......

4

5 回答 5

1

看起来像单/双/三等于错字。

if(LCV = correctAnswer) {

应该是

if(LCV === correctAnswer) {

此外,在您的第二个 css 调用中应该有一个逗号。

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

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

编辑:

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

于 2013-02-25T16:05:34.320 回答
0

我发现了问题。根据我给你的信息,你们回答正确。原来我所指的类,“.Bars_”+LCV,应该是,“.bars_”+LCV。感谢所有的帮助。对此,我真的非常感激

于 2013-03-01T16:20:42.287 回答
0

您是说 if(LCV == correctAnswer) 吗?:)

于 2013-02-25T16:05:51.067 回答
0

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

于 2013-02-25T16:31:12.823 回答
-1

您的函数中存在语法错误

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

     $("#"+endPollingCode).children(".Bars_"+LCV).css("background-color","red");
于 2013-02-25T16:23:36.307 回答