• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Mal wird JavaScript ausgeführt, mal nicht - was übersehe ich? Blutiger Anfänger!

JavaStinkt

New member
Hallo :),
ich bin ganz neu in der Welt von JavaScript und habe erst heute damit angefangen. Dennoch stehe ich schon jetzt vor Problemen.
Aktuelle tippe ich meist nur vorgegebene Programme ab, um das Resultat zu begutachten und mich mit der ersten Wirkungsweise vertraut zu machen. Dennoch stelle ich fest, dass meine JavaScript-Bereiche im einen Quelltext ausgeführt werden, in einem anderen jedoch nicht.
Ich scheine sie also irgendwie falsch in meinen HTML-Code einzubinden - aber ich finde den Fehler nicht!
Kann mir jemand helfen?

Code:
<html>
<body>
<script type="text/javascript">
<p id="myTag">Erster Absatz</p>
<p onclick="var mytext= document.createTextNode('Ein neuer Absatz');
var p= document.createElement('P');
myP.appenChild(mytext);
document.getElementById('myTag').appendChild(myP);">
letzter absatz</p> 
</script>
</body>
</html>

wieso wird JavaScript nicht ausgeführt?
 
Zuletzt bearbeitet von einem Moderator:
Äh... die <p>s gehören nicht in das <script>.

PS: inline-Eventlistener sind schon an sich nicht schön, aber so viel Code in das onclick-Attribut zu packen ist auch noch extrem unhandlich/unwartbar/unleserlich/häßlich. Mach' doch wenigstens daraus eine Funktion.
PPS: spendiere dir eine DocType. Das HTML ist ohne nicht valide und es macht dir das Leben viel leichter, wenn du eine gescheite hast.
PPPS: die Fehlerkonsole hilft sehr, solche Fehler zu entdecken.
 
schonmal viiielen dank!!!
In meinen javascript-bereich darf also keinerlei html rein?
Dieses wunderschön lange onclick-Attribut war so vorgegeben :p..

- - - Aktualisiert - - -

Es läääuft!
Die Fehlerkonsole ist klasse!!
Vielen dank.
 
Ja - in den Javascript-Bereich darf nur JS rein. Deswegen heißt er ja Javascript-Bereich...

Bitte - gern geschehen.
 
Ich verstehe nicht, warum so etwas vorgegeben sein sollte. Wenn man schon unbedingt inline-Eventlistener verwenden will, kann man ja wenigstens den Code in eine Funktion auslagern...
 
Ich verstehe nicht, warum so etwas vorgegeben sein sollte. Wenn man schon unbedingt inline-Eventlistener verwenden will, kann man ja wenigstens den Code in eine Funktion auslagern...

Ich habe es in meiner eigenen Version auch in eine Funktion ausgelagert. Denke mal, der Prof wollte uns mit der langen Zeile verwirren :p.
 
Grüße an den "Prof." - er möge bitte seine Lehrunterlagen aktualisieren!!! Denn wer das noch zumutet, hat sehr, sehr alte Unterlagen oder mag sich selbst nicht "umgewöhnen" (was schädlich ist für die, die er lehren soll). Just my two cent ... appendChild() kann nicht mit "heute angefangen" harmonieren. DOM-Manipulation kommt deutlich später - zumindest dann, wenn man die Tags unterscheidet und erst recht nachvollzieht, dass es der Script-Bereich (der kann HTML, aber eben anders). Man, sowas ärgert mich jedes Mal ...
 
Grüße an den "Prof." - er möge bitte seine Lehrunterlagen aktualisieren!!!
JS konnte schon immer Funktionen. Deswegen sollten auch extrem alte Lehrunterlagen sowas nicht enthalten - außer sie sind extrem schlecht. Aber du hast Recht - es sollte sich besseres Material besorgen oder die Lehre bleiben lassen.

appendChild() kann nicht mit "heute angefangen" harmonieren. DOM-Manipulation kommt deutlich später - zumindest dann, wenn man die Tags unterscheidet und erst recht nachvollzieht, dass es der Script-Bereich (der kann HTML, aber eben anders). Man, sowas ärgert mich jedes Mal ...
Wenn der Code vom Lehrer kommt, kann er ja durchaus Teile enthalten, die noch nicht im Stoff dran waren. Also... Mensch ärger' dich nicht.
 
Zurück
Oben