changing text with jquery

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

Answers (3)

Hippocrates
Hippocrates

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

Chris Doggett
Chris Doggett

Reputation: 20757

You're missing the id selector. Try:

$("#question").text("hola mundo!");

Upvotes: 1

James Donnelly
James Donnelly

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

Related Questions