Я довольно новичок в jQuery, поэтому, пожалуйста, пройдите ко мне, потому что я думаю, что это простая ошибка.jQuery не скрывает div, но DOM загружается
У меня есть веб-сайт, на котором показана викторина с несколькими вариантами выбора. Каждый вопрос может иметь от 2 до 4 вариантов. Если пустые опции всегда будут закодированы как «###» в массиве вопросов, поэтому я хотел бы просто скрыть div, содержащий текст «###».
У меня есть следующие (simplfied) HTML макет:
<div class="row" name="row1">
<div class="col-xs-12 jumbotron text-center" id="ans1Text" onclick="checkAnswer1()">
Text Goes Here
</div>
</div>
<div class="row" name="row2">
<div class="col-xs-12 jumbotron text-center" id="ans2Text" onclick="checkAnswer2()">
Text Goes Here
</div>
</div>
<div class="row" name="row3">
<div class="col-xs-12 jumbotron text-center" id="ans3Text" onclick="checkAnswer3()">
Text Goes Here
</div>
</div>
<div class="row" name="row4">
<div class="col-xs-12 jumbotron text-center" id="ans4Text" onclick="checkAnswer4()">
Text Goes Here
</div>
</div>
В нижней части страницы, которую я называю:
$(document).ready(function(){
setupQuiz();
});
Тогда setupQuiz
называет setupQuestion()
:
function setupQuestion()
{
var r = Math.random();
$('#qnum').text(questionNumber.toString() + "/" + (nQuestions-1).toString());
$('#timeRemaining').text(timePerQuestion);
$('#questionText').text(quizquestions[questionNumber-1].q);
if (r < 0.25){
$('#ans1Text').text(quizquestions[questionNumber-1].correct);
$('#ans2Text').text(quizquestions[questionNumber-1].incorrect1);
$('#ans3Text').text(quizquestions[questionNumber-1].incorrect2);
$('#ans4Text').text(quizquestions[questionNumber-1].incorrect3);
}
else if (r>=0.25 && r <0.5){
$('#ans2Text').text(quizquestions[questionNumber-1].correct);
$('#ans1Text').text(quizquestions[questionNumber-1].incorrect1);
$('#ans4Text').text(quizquestions[questionNumber-1].incorrect2);
$('#ans3Text').text(quizquestions[questionNumber-1].incorrect3);
}
else if (r>=0.5 && r < 0.75){
$('#ans3Text').text(quizquestions[questionNumber-1].correct);
$('#ans4Text').text(quizquestions[questionNumber-1].incorrect1);
$('#ans2Text').text(quizquestions[questionNumber-1].incorrect2);
$('#ans1Text').text(quizquestions[questionNumber-1].incorrect3);
}
else
{
$('#ans4Text').text(quizquestions[questionNumber-1].correct);
$('#ans1Text').text(quizquestions[questionNumber-1].incorrect1);
$('#ans2Text').text(quizquestions[questionNumber-1].incorrect2);
$('#ans3Text').text(quizquestions[questionNumber-1].incorrect3);
}
if ($('#ans1Text').text().indexOf("###") !=-1)
{
$('#row1').hide();
console.log("1");
}
if ($('#ans2Text').text().indexOf("###") !=-1)
{
$('#row2').hide(true);
console.log("2");
}
if ($('#ans3Text').text().indexOf("###") !=-1)
{
$('#row3').hide(true);
console.log("3");
}
if ($('#ans4Text').text().indexOf("###") !=-1)
{
$('#row4').hide(true);
console.log("4");
}
if(questionTimer != null)
{
clearInterval(questionTimer);
questionTimer = null;
}
questionTimer = setInterval(tick, 1000);
}
Весь код для установки текста вопроса работает отлично, а консоль регистрирует правильный номер, но правильный div никогда не скрывается! Я потерял это, и я бы очень признателен за любую помощь.