2016-07-05 7 views
0

Ich machte ein js Quiz. Immer wenn die Schaltfläche "next" gedrückt wird, fügt der Text, der die Nummer der Frage liest, Text ein, der die Nummer der Frage anzeigt, anstatt sie zu ersetzen. Um zu verstehen, was ich meine, this is the link.Javascript Funktion fügt Text hinzu

Dies ist der Code, der die Funktion für die Fragenummer lautet:

var header = $('<p>Question ' + (index + 1) + ' of ' + questions.length + '</p>'); 
$('#questionnum').append(header); 

Antwort

1

Ihr Code sollte eigentlich .html() statt Append verwenden. Das Anhängen bedeutet das Hinzufügen am Ende, während das .html das innerHTML des Elements überschreibt.

var header = $('<p>Question ' + (index + 1) + ' of ' + questions.length + '</p>'); 
$('#questionnum').html(header); 
3

Sie .text Eigenschaft statt .append, um vollständig Text neu zu ändern verwenden soll. .append wird den Text weiter anhängen.

$('#questionnum').text(header); 

Sehen Sie sich diese jquery docs auf append() und text() Methoden.

+0

Das gibt mir eine [object Object] Fehler –

1

können Sie rein verwenden JavaScript, wie dies auch:

document.getElementById("questionnum").innerHTML = header; 

Sie werden nicht solche Probleme haben es auf diese Art und Weise zu tun.

+0

Das gibt mir eine [object Object] Fehler –

+0

Die Probleme, die aus dieser Zeile Code kommen können, sind zwei: 1) das Objekt mit der ID kann nicht gefunden werden 2) Header ist kein String Dies sind die zwei einzigen Gründe, die einen Fehler bei dieser Codezeile verursachen können. Stellen Sie sicher, dass das Element mit der ID "questionnum" in Ihrem Code vorhanden ist und dass "header" eine Zeichenfolge ist. Hoffe das hilft :) – IchHabsDrauf