Généralement, j'évite l'utilisation de « id » et « nom » comme identificateurs parce qu'ils peuvent causer des problèmes. Im pas sûr si ils sont des mots réservés ou non, mais de son mieux pour les éviter.
Un problème précis, c'est que vous avez récupérée d'une référence à l'élément que vous voulez travailler sur et il stocké dans la variable que vous appelez
nom , mais alors vous utilisez
div au lieu du nom pour essayer de manipuler.
Aussi vous passez le paramètre id de la fonction getElementById à l'intérieur de guillemets lorsque vous devez utiliser simplement le nom du paramètre sans guillemets. La
id paramètre est une variable qui contient une chaîne, mais si vous le mettez à l'intérieur de guillemets la chaîne « id » sera passée au lieu de la valeur dans la variable.
Enfin, youve utilisé correctement les deux signes égal à tester pour voir si le style est défini sur none, mais youve a également utilisé le signe égal double pour essayer d'attribuer la nouvelle valeur qui ne fonctionnera pas. Utilisez un signe égal pour assigner des valeurs.
J'ai changé
id à
theId et
nom de à
el pour l'élément et fait les autres modifications et il fonctionne pour moi :
<html>
<head>
<title>Untitled</title>
<script language="JavaScript">
function showAndHide(theId)
{
var el = document.getElementById(theId)
if (el.style.display=="none")
{
el.style.display="block"; //show element
}
else
{
el.style.display="none"; //hide element
}
}
</script>
</head>
<body>
<p><a href="#" onClick = showAndHide('Title')>Some Title</a></p>
<div id='Title' style="display:none">
<a href="http://linkhere/">01-Intro</a>
</div>
</body>
</html>
- <html>
- <head>
- <title>Untitled</title>
- <script language="JavaScript">
- function showAndHide(theId)
- {
- var el = document.getElementById(theId)
- if (el.style.display=="none")
- {
- el.style.display="block"; //show element
- }
- else
- {
- el.style.display="none"; //hide element
- }
- }
- </script>
- </head>
- <body>
- <p><a href="#" onClick = showAndHide('Title')>Some Title</a></p>
- <div id='Title' style="display:none">
- <a href="http://linkhere/">01-Intro</a>
- </div>
- </body>
- </html>
Vous devez également utiliser le
code balise lors de la publication des extraits sur le forum ici, afin qu'ils seront affichera correctement.
Quand utiliser cela, je semble sauter jusqu'à revenir en haut de la page chaque fois que je clique sur un lien. Y a-t-il un moyen pour éviter cela ?