821 Stimmen

Nicht erfasste Referenzfehler: $ ist nicht definiert?

Warum wirft dieser Code einen

Uncaught ReferenceError: $ wird nicht definiert

Fehler, wenn es vorher in Ordnung war?

$(document).ready(function() {
    $('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
    $('#featuredvid > ul').tabs();
});

Ergebnisse in Tabs schließen nicht mehr.

jQuery ist im Header referenziert:

0 Stimmen

Nehmen Sie dies nach oben

0 Stimmen

In meinem Fall war das JQuery im Fußbereich, daher wurde die JS-Funktion zuerst aufgerufen.

0 Stimmen

Ist das die Antwort auf Ihre Frage? ReferenceError: $ is not defined

31voto

lalithkumar Punkte 3312

Fügen Sie die Bibliothek hinzu, bevor Sie das Skript starten. Sie können eine der folgenden CDNs verwenden, um es zu starten.

Google:

Microsoft

Jquery

Wenn Sie eine andere Jquery-CDN-Version wünschen, überprüfen Sie diesen Link.

Nach diesem:

$(function(){
    //your stuff
});
or
$(document).ready(function(){
    //your stuff
});    

Wordpress:

var $ = jQuery;
jQuery(document).ready(function($){
     //your stuff
});

30voto

Sudipta Chatterjee Punkte 4428

Okay, mein Problem war anders - es war das Dokumentensicherheits modell in Chrome.

Wenn ich mir die Antworten hier anschaue, war offensichtlich, dass ich irgendwie meine jquery-Dateien nicht geladen habe, bevor ich die $(document).ready() Funktionen aufgerufen habe. Allerdings waren sie alle an den richtigen Positionen.

In meinem Fall lag das daran, dass ich auf den Inhalt über eine sichere HTTPS-Verbindung zugegriffen habe, während die Seite versuchte, die von Google usw. gehosteten Daten aus dem CDN herunterzuladen. Die Lösung bestand darin, sie lokal zu speichern und sie dann direkt einzubinden anstatt sie jedes Mal vom CDN herunterzuladen.

Bearbeiten: Eine andere Möglichkeit dies zu tun, ist alles von CDN gehostete Sachen als https:// verlinken anstatt http:// - dann beschwert sich das Modell nicht.

20voto

Mayer Spitz Punkte 2174

Sie rufen die ready() Funktion auf, bevor das jQuery JavaScript eingebunden ist. Referenzieren Sie zuerst jQuery.

Wenn Sie in ASP.NET MVC sind, können Sie angeben, wann Ihr JS-Code gerendert werden soll, indem Sie Folgendes tun:

1, In Ihrer page.cshtml umschließen Sie Ihr </code> Tag in einem Abschnitt und geben ihm einen Namen, den häufig verwendeten Namen 'scripts':</p> <pre><code>@section scripts { <script> // JS-Code... }

2, In Ihrer _Layout.cshtml Seite fügen Sie @RenderSection("Scripts", required: false) hinzu, stellen Sie sicher, dass es nach der Referenzierung der Jquery-Quelle steht, dadurch wird Ihr JS-Code später als das Jquery gerendert.

20voto

Mostafa AboBaker Punkte 189

Fügen Sie die jQuery-Bibliothek vor Ihrem Skript hinzu, das $ oder jQuery verwendet, damit $ in Skripten identifiziert werden kann. entfernen Sie das Skript-Tags im Kopf und setzen Sie den Schlusskörper

dann zuerst Skript in Datei js hinzufügen

/*global $ */
$(document).ready(function(){  });

0 Stimmen

Gefahr: Die hier verwendete Version von jQuery weist bekannte Sicherheitsprobleme auf und wird nicht mehr unterstützt. Holen Sie sich die neueste Version von der jQuery-Website.

19voto

xoxn-- 1'w3k4n Punkte 491

Wenn es in WordPress ist, könnte es notwendig sein, zu ändern

$(document).ready(function() {

zu

jQuery(document).ready(function($){

oder hinzufügen

var $ = jQuery;

vor

$(document).ready(function() {

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X