• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Grundsätzliche Frage

Walter43

Neues Mitglied
Moin!

Ich versuche mich selbst ein wenig weiterzubilden und habe eine Frage.

Ich versuche das Beispiel so einfach wie möglich zu halten:

Warum funktioniert der Javascript-Befehl in der Testpage nicht?

Index.php


<!DOCTYPE html>
<html>

<head>
<title>PHP-Include test</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
<script type="text/javascript" src="javascript.js"></script>
</head>

<body>

<?php include("header.php"); ?>

<main id="main">
Test
</main>

<?php include("footer.php"); ?>

</body>

</html>


header.php


<h1> test header </h1>


footer.php

<h2> test footer.php </h2>


style.css

h1 {
font-weight: bold;
}
h2 {
font-weight: lighter;
}



javascript.js

<script type="text/javascript">
document.getElementById("main").style.color = "ff0000";
</script>




Gruß Thorsten
 
Werbung:
Werbung:
Okay, wenn Ich den Java-Befehl direkt am Body einfüge funktioniert es.

Ich finde es nur Schade so agieren zu müssen. Subjektiv empfinde Ich die Java-Befehle outgeesourt als eleganter, der Übersicht halber.

Warum ist meine Lösung ungültig? ich erkenne den Fehler nicht :(
 
Werbung:
Es ist der Zeitpunkt, zu dem deine JS Anweisung ausgeführt wird - das ist leider bevor der <main> überhaupt im Browser auftaucht... das Script greift also ins Leere.
Wenn du die Methode mit der externen Einbindung besser findest, dann mach das! Nur musst du dann deine Scripte als Funktion... also
Code:
function deine_funktion() {
/* hier dein Scrippt*/
}
in die externe Datei einbinden. Dann wird sie gelesen und ist dem Browser bekannt.
Der Aufruf der Funktion mit 'deine_funktion()' darf dann aber auch nachdem Einlesen der betroffenen Elemente durch den Browser erfolgen.
 
Wieso denn das??? Dieses:
Wenn ich das richtig vom TE verstanden habe, geht es ihm um das Einbinden einer .js im <head>... oder?
Wenn ja, dann geht es nur so.... Funktion in .js erstellen. Einbinden im <head>
Aufrufen der Funktion
HTML:
<main id="main">Test</main>
            <script>meine_funktion()</script>
 
Macht bei einer Zeiler auch kein grossen unterschied ob das
HTML:
<script>document.getElementById("main").style.color = "#ff0000";</script>
oder das
HTML:
<script>function starten();</script>
Im Quellcode steht.
Bei viel Code ist das nätürlich ratsam ,aber bei einer Zeile ?????
 
Werbung:
Zurück
Oben