2010-12-03 6 views
3

Ich versuche, eine Website on-the-fly mit JavaScript zu erstellen, kann aber nicht meine getElementById Funktion ordnungsgemäß funktionieren. Ich habe ein gutes Stück herumgestochert und Beispiele gefunden und habe versucht, ohne Erfolg zu arbeiten, damit sie funktionieren (die meisten von ihnen verwendeten keine externe .js-Datei). Unten ist der Code mein JavaScript und HTML:Erstellen einer Website mit getElementById im laufenden Betrieb?

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>Final Project</title> 
<script type="text/javascript"> 
</script> 
</head> 
<body> 
<script type="text/javascript" src="finalProj.js"> 
</script> 
<form name = "myForm"> 
<h1 id="myHeader"></h1> 

JavaScript:

var firstName = ("RicK"); 
var courseName = ("WEB 180"); 

function myHeading() 
{ 
document.getElementById('header').write = (firstName + lastName); 
} 
+0

Rufen Sie die Funktion 'myHeading' an Wohin? –

Antwort

2
document.getElementById('myheader').innerHTML = "(" + firstName + ' ' + lastName + ")"; 

?

6
  1. Der JavaScript-Code, der den Zugriff auf bestimmte DOM-Elemente haben sollte, hat nach die Elemente in HTML zu kommen, da sonst die Elemente nicht in DOM erzeugt noch (vorausgesetzt, der JavaScript-Code Sie ist in finalProj.js schrieb) :

    <body> 
        <form name = "myForm"> 
         <h1 id="myHeader"></h1> 
        </from> 
        <!-- can access myHeader now --> 
        <script type="text/javascript" src="finalProj.js"></script> 
    </body> 
    
  2. über eine write Eigenschaft sie wissen nicht, aber innerHTML es tun sollten:

    document.getElementById('myHeader').innerHTML = firstName + lastName; 
    

    Und natürlich müssen Sie auch myHeading() anrufen!

1

versuchen, etwas wie folgt aus:

var firstName = "RicK"; 
var courseName = "WEB 180"; 

function myHeading() { 
    document.getElementById('header').innerHTML = firstName + " " + lastName; 
} 
2

Die ID, die Sie festgelegt und die ID des Headers sieht es aus wie Sie wählen versuchen, nicht übereinstimmen. Sie haben:

<h1 id="myHeader"></h1> 

und

document.getElementById('header').write = (firstName + lastName); 

Sie ändern müssen, dass auf:

document.getElementById('myHeader').write = (firstName + lastName); 
+0

Gute Spotting @Ender. –

1

Die Eigenschaft, die Sie wollen, ist innerHTML (und Sie können die Klammern weglassen):

document.getElementById('myHeader').innerHTML = firstName + lastName; 
Verwandte Themen