2017-08-08 1 views
1

Voici le concept de mon contenu affiché/masqué. Cela fonctionne aussi. https://jsfiddle.net/mplungjan/a7Lfjsgh/Le bouton bascule afficher/masquer javascript fonctionne à petite échelle mais pas dans mon plus grand code HTML

Cela fonctionne dans le petit code html ci-dessus. Cependant, cela ne fonctionne pas lorsque je l'applique à mon code HTML plus grand. Est-ce que quelqu'un sait pourquoi?

Mon but est d'avoir de nombreux éléments de liste avec des spans attachés au bouton de révélation des réponses.

HTML:

<nav class="Rightbox" id="RightFrench">  
<div id="Stage1"> 
<h1>Stage 1</h1> 
<h5> <span class="HighlightBlue">Exercise 1 - </span></h5> 
<h5><button class="AnswerTitle" id="AnswersFrenchStage1Ex1">Reveal Answers</button></h5>  

<p class="Task"> 
    <span class="HighlightBlue">Translate the following</span> 
</p> 
<ul> 
<li> 
<p> the passeport <textarea></textarea> 
    <span class="FrenchStage1Ex1">la passeport</span> 
</p> 
</li> 

<li> 
<p>the passeport <textarea></textarea> 
    <span class="FrenchStage1Ex1">la passeport</span> 
</p> 
</li> 
</div> 
</nav> 

Javascript:

window.onload = function() { 
    var buttons = document.querySelectorAll(".AnswerTitle"); 
    for (var i = 0; i < buttons.length; i++) { 
    buttons[i].onclick = function() { 
     var id = this.id.replace(/reveal/, "FrenchStage"); 
     var answers = document.querySelectorAll("." + id); 
     for (var i = 0; i < answers.length; i++) { 
     answers[i].style.display = answers[i].style.display == "inline" ? "none" : "inline"; 
     } 
    } 
    } 
} 

CSS:

.Rightbox ul li p span {display:none;} 

Répondre

0

le problème se révèle être je l'ai changé l'identifiant du bouton, pensant que le javascript est n'utilisant pas l'identifiant du bouton. tourne la

var id = this.id.replace(/reveal/, "FrenchStage") 

voulait vraiment le bouton pour avoir une carte d'identité contenant « révéler »