Reputation: 573
im trying to do a dynamic quiz with html css and jquery, when i try to change a <p id=question></P>
using jquery nothing happens, i left you my html and jquery code.
<!DOCTYPE html>
<html lang='es'>
<head>
<meta charset='UTF-8'>
<title>Dynamic Quiz</title>
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/estilos.css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/prefixfree.js"></script>
<script type="text/javascript" src="js/codigo.js"></script>
</head>
<body>
<header>
<hgroup>
<h1>This is my Dynamic Quiz</h1>
<h2>Using html5 / css / javascript</h2>
</hgruop>
</header>
<section id='description'>
<p>This quiz is compossed by 10 questions, you have to answer at least 7
from 10 to pass the exam.</p>
<h2>Lets start!</h2>
</section>
<div id='questions-number'>
<p>Question <span id='current-question'>1</span> of <span>10</span> </p>
</div>
<section id='questions'>
<p id='question'></p>
<ul>
<li><input type='checkbox' /><label>answer0</label></li>
<li><input type='checkbox' /><label>answer1</label></li>
<li><input type='checkbox' /><label>answer2</label></li>
<li><input type='checkbox' /><label>answer3</label></li>
</ul>
</section>
<div id='next'>
next
</div>
</body>
</html>
and this is my jquery code....
$(document).on('ready', ready);
function ready(){
var allQuestions =
[
{
question1: "Whats my real name?",
choices1: ["Jhonnatan", "Alberto", "Tatan","Jaime"],
answer1: 0
},
{
question2: "Who is Colombia's president?",
choices2: ["Alvaro Uribe", "Andres Pastrana", "Juan Manuel Santos","Tatan"],
answer2: 2
},
{
question3: "My favorite super heroe?",
choices3: ["Batman", "Flash", "Tatan","Javascript"],
answer3: 3
},
{
question4: "Wich sports do i practice?",
choices4: ["Climbing", "Swimming", "Programming","Running"],
answer4: 0
},
{
question5: "Whats my dad's name?",
choices5: ["Alberto", "Jorge", "Javier","Jose"],
answer5: 1
},
{
question6: "Whats my favorite color?",
choices6: ["Red", "Purple", "Blue","All"],
answer6: 2
},
{
question7: "My favorite alcoholic drink",
choices7: ["Vodka", "Aguardiente", "Rum","Tekila"],
answer7: 3
},
{
question8: "Whats my favorite kind of music?",
choices8: ["Hardcore", "Reggaeton", "Salsa","Programming"],
answer8: 0
},
{
question9: "How many qestions has this quiz??",
choices9: ["20", "8", "10","12"],
answer9: 2
},
{
question10: "My favorite programming lenguage?",
choices10: ["Ruby", "Arduino", "Python","Javascript"],
answer10: 3
}
];
$('question').text('hola mundo!');
console.log($('question'));
}
i ihave an array with object inside, every object contains the question, posible answers and the correct answer i like add all this dinamically with jquery into my html and when a press the next button change questions ill appreciate if someone could help me
Upvotes: 0
Views: 243
Reputation: 2540
You need to use $('#question')
to reference an element by ID. Just $('question')
would be for an element like <question></question>
and
$('.question')
would be for a class.
Upvotes: 0
Reputation: 20757
You're missing the id selector. Try:
$("#question").text("hola mundo!");
Upvotes: 1
Reputation: 128791
question
isn't an element, it's an ID. To select IDs you'd use a #
.
To fix this, simply change $('question')
to $('#question')
.
Upvotes: 1