wake-up-neo.com

SyntaxError: erwarteter Ausdruck, bekam '<', was bedeutet das?

Ich weiß, das ist ein paar Mal auf S.O.

aber keine der Antworten scheint meiner Situation zu entsprechen. Ich habe also eine einfache HTML-Seite, die versucht, eine externe JS zu verwenden. Die JS-Datei versucht, den Inhalt eines Absatzes, der im HTML-Code definiert ist, durch Klicken auf eine Schaltfläche zu ändern, scheint jedoch nicht zu funktionieren.

Ich sehe die folgenden Fehler in der Konsole:

1) SyntaxError: erwarteter Ausdruck, erhielt '<'

2) ReferenceError: Änderung ist nicht definiert

JSFiddle zeigt genaue Quelle an (außer dass & Tags als jsfiddle entfernt werden - http://jsfiddle.net/p9ko4yde/

HTML Quelltext :

<h1> Numbers with external script:) </h1>
<p id="number">1</p>
<button type="button" onclick="change()">Toggle between 1 and 2</button>

<script src="myScript.js"></script>



</body>
</html>

JS-Code:

<script type="text/javascript">
    function change(){
        var number = document.getElementById('number').innerHTML;
        if(number == '1'){
            document.getElementById('number').innerHTML='2';
        }
        else{
            document.getElementById('number').innerHTML='1';
        }
    }
</script>

Dateistruktur ist wie folgt:  enter image description here

10
nikel

Sie brauchen die <script>-Tags nicht, wenn Sie sich in einer externen .js-Datei befinden. Verwenden Sie diese Tags, um ein Skript nur in HTML einzubetten.

18
Simon Robb

Der Syntaxfehler liegt darin, dass Sie <script>-Tags in Ihrer JS-Datei haben. Wenn Sie JavaScript in eine eigene Datei einfügen, müssen Sie es nicht mit Skript-Tags umgeben. Das ist HTML und dies ist eine JavaScript-Datei.

Der Referenzfehler tritt auf, weil aufgrund des Syntaxfehlers die JS-Datei nicht ordnungsgemäß ausgeführt wird und die Änderungsfunktion nie erstellt wurde. Das Beheben des Syntaxfehlers sollte dies ebenfalls beheben.

3
Hayden Schiff

In einer js-Datei verwenden Sie das HTML nicht, um anzugeben, dass es sich um eine js-Datei handelt. Sie können das Skript-Tag also in myScript ablegen und wie folgt ändern:

function change(){
    var number = document.getElementById('number').innerHTML;
    if(number == '1'){
        document.getElementById('number').innerHTML='2';
    }
    else{
        document.getElementById('number').innerHTML='1';
    }
}
2
trex005

Manchmal tritt dieser Fehler auf, wenn die Javascript-referenzierteDatei nicht existiert . Stellen Sie sicher, dass der Dateiname korrekt ist und Sie die Datei installiert haben. Ich weiß, dass dein Problem gelöst ist, aber vielleicht löst diese Antwort jemand anderes :)

0
Aproram