Wie zu beheben "Uncaught TypeError: Cannot call method 'appendChild' von null"

Ich bin versucht zu schnappen Sie text aus einem HTML-text-Bereich, und rufen Sie die create () - Methode auf, wenn ein "Senden" - Taste gedrückt wird. Die Methode ist zu versuchen, die Nachricht aus dem Textfeld, und buchen, die zu seinen eigenen p-tag mit der Klasse, und schreiben Sie einen Datum-Stempel in seiner eigenen p-tag, und seine eigene Klasse.

Diese werden sowohl in den div 'Kommentare'. Die Fehler, die ich erhalte (mit developer-tools im Chrome), ist

Uncaught TypeError: Cannot call method 'appendChild' null.

Dieser richtet sich an "cmt.appendChild(divTag);". Ich bin sehr neu in Javascript, und das ist einfach die Praxis für mich zur Steigerung meiner Fähigkeiten. Alle Hilfe wird sehr geschätzt!

var cmt = document.getElementById('comments');

function create() {

    var username = 'User',
        message = document.getElementById("textBox").value,
        divTag = document.createElement('div'),
        p1 = document.createElement('p'),
        p2 = document.createElement('p');

    divTag.className = 'comment';

    p1.className = 'date';
    p1.innerHTML = new Date();
    divTag.appendChild(p1);

    p2.className = 'message';
    p2.innerHTML = username + ': ' +message;
    divTag.appendChild(p2);

    cmt.appendChild(divTag);
}
Sind Sie sicher, dass var cmt = document.getElementById('comments'); wird aufgerufen, nachdem das element mit der ID "Kommentare" erstellt wird?
Ja, mein Javascript ist extern auf meine HTML-Seite.

InformationsquelleAutor Fizzix | 2013-02-18

Schreibe einen Kommentar