我想學習JS/JQuery,所以我寫了這個小測驗應用程序。當用戶點擊提交時,我想強調錯誤的答案和正確的答案,但它不起作用。.addClass不能用收音機
這裏的功能:
function correctAnswer() {
var answer = questions[questionNumber].correct;
console.log("answer =" + answer)
$("#radio" + answer + "+ label").addClass(".correctAnswer");
questionNumber++
};
function wrongAnswer() {
var answer = questions[questionNumber].correct;
var userAnswer = $(".list input[type=radio]:checked").val();
if (answer != userAnswer) {
$(".list input[type=radio]:checked" + "+ label").addClass(".wrongAnswer");
}
questionNumber++
};
這裏的CSS:
input[type=radio] + label {
font-family: Helvetica;
color:#FFF;
font-size: 18px;
text-align: center;
border-style: none;
background: #4592FF;
margin-left: auto;
padding-top: 10px;
padding-bottom: 10px;
width:100%;
cursor: pointer; cursor: hand;
}
input[type=radio]:checked + label {
background-image: none;
background-color:#1646B5;
}
.correctAnswer {
font-family: Helvetica;
color:#FFF;
font-size: 18px;
text-align: center;
border-style: none;
background: #4592FF;
margin-left: auto;
padding-top: 10px;
padding-bottom: 10px;
width:100%;
cursor: pointer; cursor: hand;
}
.wrongAnswer {
font-family: Helvetica;
color:#FFF;
font-size: 18px;
text-align: center;
border-style: none;
margin-left: auto;
padding-top: 10px;
padding-bottom: 10px;
width:100%;
cursor: pointer; cursor: hand;
background:#FF4B19;
}
和HTML:
<ul class="list">
<li>
<input type="radio" id="radio0" name="radios" value="all">
<label for="radio0"></label>
</li>
<li>
<input type="radio" id="radio1" name="radios"value="false">
<label for="radio1"></label>
</li>
<li>
<input type="radio" id="radio2" name="radios" value="true">
<label for="radio2"></label>
</li>
<li>
<input type="radio" id="radio3" name="radios" value="true">
<label for="radio3"></label>
</li>
</ul>
所有的測驗數據的(問題/可能的答案/正確答案)被存儲在一個數組中。
對不起,CSS的縮進。我不知道它爲什麼顯示這種方式
這裏有一個的jsfiddle如果有興趣。 http://jsfiddle.net/#&togetherjs=rP95pwLxKi – Chad