J'ai un show basique/cacher javascript qui fonctionne, tant que je ne le rend pas dynamique et assurez-vous d'un paramètre. J'apprécierais beaucoup si quelqu'un pouvait m'aider à comprendre pourquoi la version dynamique ne fonctionne pas.Dynamique afficher/masquer div avec javascript ne fonctionne pas
Code de travail:
javascript
function togglesDiv(){
var catdiv = document.getElementById("addNewCat");
if(catdiv.style.display == ""){
catdiv.style.display = "none";
} else {
catdiv.style.display = "";
}
}
html
<span onclick="togglesDiv();">Add new category</span>
<div id="addNewCat" style="display: none;">
lalala
</div>
Non Code de travail:
javascript
function togglesDiv(divsId){
var catdiv = document.getElementById("divsId");
if(catdiv.style.display == ""){
catdiv.style.display = "none";
} else {
catdiv.style.display = "";
}
}
html
<span onclick="togglesDiv(addNewCat);">Add new category</span>
<div id="addNewCat" style="display: none;">
lalala
</div>
Ceci est la bonne réponse. Lorsque vous ajoutez les guillemets autour de divsId, cela en fait une chaîne avec une valeur divsId, ce qui signifie qu'elle cherche une div avec cet identifiant. Sans les guillemets, il cherchera la valeur de la variable de chaîne nommée divsId –
Doh :) Merci, et merci à tous les autres aussi :) – Poppe76