Code javascript non fonctionnelle

Diego987 Messages postés 75 Statut Membre -  
 LeVieuxCampeur -
Bonjour,
j'essaye un petit code du cours de CS50 de Harvard et j'ai un erreur dans la borne <script>... du code javascript. Je crois que c'est ce truc qui ne marche pas : ('#$(page)'). Que faire? Ca ne marche pas quand je tape la commande showPage("page1"); dans la console js de chrome
voici le code :

<!DOCTYPE html>
<html>
    <head>
        <title>Singje Page</title>
        <style>
            div {
                display: none;
            }
        </style>
        <script>
            function showPage(page) {
                document.querySelector('#$(page)').style.display = 'block';
            }

        </script>
    </head>
    <body>
        <button data-page="page1">Page1</button>
        <button data-page="page2">Page2</button>
        <button data-page="page3">page3</button>
        <div id="page1">
            <h1>This is page1.</h1>
        </div>
        <div id="page2">
            <h1>This is page2.</h1>
        </div>
        <div id="page3">
            <h1>This is page3.</h1>
        </div>
    </body>
</html>

Merci d'avance de vos réponses

EDIT : Déplacement de la question dans le forum JAVASCRIPT
EDIT² : Correction des balises de code


Configuration: Macintosh / Chrome 84.0.4147.89

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Il aurait été interessant que tu nous mettes le lien vers cette formation.

    Mais il me semble déjà, que le selector utilisé est faut.

    A la place de
     document.querySelector('#$(page)').style.display = 'block';
    


    essaye
     document.querySelector('#'+page).style.display = 'block';
    

    en passant en paramètre de ta fonction, l'id de la page ciblée
    par exemple
    showPage('page1');
    


    0
  2. LeVieuxCampeur
     
    Bonjour

    Je pense que la syntaxe n'est pas très correcte...

    Je propose une solution alternative :
    pour le <script>
    <script>
    function showPage(page) {
                    document.getElementbyId(page).style.display = 'block';
                }
    </script>

    et pour ton <body>
        <body>
            <button onclick=("showPage('page1');")>Page1</button>
            <button onclick=("showPage('page1');")>Page2</button>
            <button onclick=("showPage('page1');")>page3</button>
            <div id="page1">
                <h1>This is page1.</h1>
            </div>
            <div id="page2">
                <h1>This is page2.</h1>
            </div>
            <div id="page3">
                <h1>This is page3.</h1>
            </div>
        </body>
    0