Hi
<script type="text/javascript">
function toggle(id) {
if(document.getElementById('id').style.display!='block') {
document.getElementById('id').style.display="block";}
else {document.getElementById('id').style.display="none"}
}</script>
>
> `<li><a onClick="toggle('Punkt1')"`{:.language-html}
Sieht gar nicht so schlecht aus, ich sehe dass du verstanden hast was ich meine :)
Aber lass die Anführungszeichen um "id" weg, denn an diese Stelle willst du ja die Variable/den Paramter "id" einfügen, und nicht den String "id". In deinem momentanen Script wird nach einem Element mit der id "id" geschaut, das es sehr wahrscheinlich nicht gibt.
Dann beachte die Klammersetzung bei if (die ist bei dir noch fehlerhaft, wenn du genau hinguckst):
~~~javascript
if(Bedingung==True)
{
anweisung1;
}
else
{
anweisung2;
}
In diesem Fall kannst du sogar die geschweiften Klammern (nicht die runden Klammern ;) ) weglassen, denn es folgt ja nur EIN Befehl auf if bzw auf else:
if(Bedingung==True)
anweisung1;
else
anweisung2;
Und das wärs auch schon. Habs natürlich immer noch nicht getestet, aber hab selbst so eine Funktion im Einsatz die genau so funktioniert.
Und da darfst natürlich gerne mit appendChild etc. herumspielen. Man sagte mir, dass, sobald die Anforderungen ein bisschen steigen, ist man damit besser bedient.
Du musst übrigens noch den Anchor schließen. Ich denke aber du hast das schon gemacht und hier nur nicht reinkopiert.
Eine JavaScript-Funktion lässt sich übrigens auch folgendermaßen aufrufen:
<a href="javascript:funktionsname('parameter1', 122.45);">test</a>
Hat den Nachteil, dass der Benutzer in der Statusleiste seines Browsers den teilweise elend langen Link mitsamt "javascript:" vornedran zu sehen bekommt.
Liebe Grüße
Tomar