Uncaught ReferenceError: $ is niet gedefinieerd?

Hoe komt het dat deze code een

. geeft

Uncaught ReferenceError: $ is niet gedefinieerd

wanneer het voorheen goed was?

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

Resultaten in tabbladen sluiten niet meer.

jQuery wordt verwezen in de kop:

<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/sprinkle.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-ui-personalized-1.5.2.packed.js"></script>

Antwoord 1, autoriteit 100%

Je moet eerst de verwijzingen naar de jQuery-scripts plaatsen.

<script language="JavaScript" type="text/javascript" src="/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/jquery-ui-personalized-1.5.2.packed.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/sprinkle.js"></script>

Antwoord 2, autoriteit 36%

U roept de ready-functie aan voordat de jQuery JavaScript is opgenomen. Verwijs eerst naar jQuery.


Antwoord 3, autoriteit 19%

Dit is wat het voor mij heeft opgelost. Oorspronkelijk ging ik naar Google en kopieerde en plakte hun voorgestelde fragment voor jQuery op hun CDN-pagina:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

Het fragment bevat niet de HTTP:of HTTPS:in het srcattribuut, maar mijn browser, FireFox, had het nodig, dus ik veranderde het aan:
edit: dit werkte ook voor mij met Google Chrome

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

Toenwerkte het.


Antwoord 4, autoriteit 6%

Als uw aangepaste script is geladen voordat de jQuery-plug-in in de browser wordt geladen, kan dit type probleem optreden. Bewaar dus altijd uw eigen JavaScript- of jQuery-code nadat u de jQuery-plug-in hebt aangeroepen, dus de oplossing hiervoor is:

Voeg eerst de link toe aan het jQuery-bestand dat wordt gehost op GoogleApis of een lokaal jQuery-bestand dat u gaat downloaden van http://jquery.com/download /en host op uw server:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

of een plug-in voor jQuery. Plaats vervolgens uw aangepaste scriptbestandslink of code:

<script src="js/custom.js" type="text/javascript"></script>

Antwoord 5, autoriteit 6%

In mijn geval plaatste ik mijn .js-bestand voor de jQuery-scriptlink en plaatste ik het .js-bestand nadat de jQuery-scriptlink mijn probleem had opgelost.

<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script src="https://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="exponential.js"></script>

Antwoord 6, autoriteit 4%

Ok, mijn probleem was anders: het was het Document Security-model in Chrome.

Kijkend naar de antwoorden hier, was het duidelijk dat ik op de een of andere manier mijn jQuery-bestanden niet aan het laden was voordat ik de functies $(document).ready()enz. aanriep. Ze zaten echter allemaal op de juiste plaats.

In mijn geval was dit omdat ik toegang had tot de inhoud via een beveiligde HTTPS-verbinding, terwijl de pagina probeerde de door het CDN gehoste gegevens van Google te downloaden, enz. De oplossing was om ze lokaal op te slaan en vervolgens rechtstreeks in te voegen in plaats van dan elke keer van het CDN.

Bewerken: de andere manier om dit te doen is door naar alle door CDN gehoste dingen te linken als https:// in plaats van http:// – dan klaagt het model niet.


Antwoord 7, autoriteit 3%

Voeg de bibliotheek toe voordat u het script start. U kunt een van deze volgende CDNtoevoegen om het te starten.

Google:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

Microsoft

<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>

Jquery

Als je een andere JQuery cdn-versie wilt, check dan deze link.

Hierna:

<script type="text/javascript">
$(function(){
    //your stuff
});
or
$(document).ready(function(){
    //your stuff
});    
</script>

WordPress:

<script type="text/javascript">
var $ = jQuery;
jQuery(document).ready(function($){
     //your stuff
});
</script>

Antwoord 8, autoriteit 3%

Als het in wordpress staat, kan het nodig zijn om te wijzigen

$(document).ready(function() {

naar

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

of voeg toe

var $ = jQuery;

voor

$(document).ready(function() {

Antwoord 9, autoriteit 3%

Ik had exact hetzelfde probleem en geen van de bovenstaande oplossingen heeft geholpen.
ik heb echter zojuist de .css-bestanden gekoppeld aan de .js-bestanden en het probleem is op wonderbaarlijke wijze verdwenen. Ik hoop dat dit helpt.


Antwoord 10, autoriteit 2%

In mijn geval had ik deze referenceError omdat de volgorde van scriptaanroepen verkeerd was. Dat is opgelost door de volgorde te wijzigen:

<script src="js/index.js"></script>
<script src="js/jquery-1.10.2.js"></script>

naar

<script src="js/jquery-1.10.2.js"></script>
<script src="js/index.js"></script>

Antwoord 11, autoriteit 2%

U roept de functie ready()aan voordat de jQuery JavaScript is opgenomen. Verwijs eerst naar jQuery.

Als u zich in ASP.NET MVC bevindt, kunt u als volgt specificeren wanneer uw JS-code moet worden weergegeven:

1,Plaats in uw page.cshtmluw <script>-tag in een sectie en geef deze een naam, de algemene te gebruiken naam is ‘scripts’:

@section scripts {
    <script>
        // JS code...
    </script>
}

2,Voeg op uw _Layout.cshtmlpagina @RenderSection("Scripts", required: false)toe, zorg ervoor dat u het plaatst nadat u naar de JQuery-bron hebt verwezen, wordt uw JS-code later weergegeven dan de JQuery.


Antwoord 12, autoriteit 2%

Ik wilde proberen mijn script asynchroonte maken. Toen vergat ik het en toen ik live ging, laadde het [custom].js-bestand slechts 50% van de tijd vóór de jQuery.js.

Dus ik veranderde

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

naar

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

Antwoord 13

Ik had hetzelfde probleem en heb het opgelost door jQuery bovenaan alle javascript-codes in mijn code te plaatsen.

Zoiets:

<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="js/app.js" type="text/javascript"></script>
<script src="js/form.js" type="text/javascript"></script>
<script src="js/create.js" type="text/javascript"></script>
<script src="js/tween.js" type="text/javascript"></script>

Hoop kan iemand in de toekomst helpen.


Antwoord 14

zet de nieuwste jQuery cdn bovenaan je html-hoofdpagina

Vind ik leuk als uw hoofd-html-pagina index.html

is

plaats jQuery cdn op deze manier bovenaan deze pagina

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("h2").hide();
  });
});
</script>
</head>
<body>
<h2>This will hide me</h2>
<button>Click me</button>
</body>
</html>

Antwoord 15

Voeg een jQuery-bibliotheek toe voor uw script dat $ of jQuery gebruikt, zodat $ kan worden geïdentificeerd in scripts.
verwijder tagscript op head en zet end bady

<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>

schrijf dan eerst script in bestand js add

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

Antwoord 16

Als u dit in .NET doet en het scriptbestand naar behoren verwijst en u er goed uitziet, zorgt u ervoor dat uw gebruikers toegang hebben tot het scriptbestand. Het project waar ik aan werkte (een collega) had hun web.Config de toegang tot anonieme gebruikers ontkent. De pagina waar ik aan werkte was toegankelijk voor anonieme gebruikers, daarom hadden ze geen toegang tot het scriptbestand. Viel het volgende in het web.config en alles was in de wereld:

 <location path="Scripts">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

Antwoord 17

In mijn geval was het een typfout, ik ben een backslash vergeten en verwijst naar de bron verkeerd.

Vóór src="/scripts/jquery.js"

After & nbsp; & nbsp; src="scripts/jquery.js"


Antwoord 18

Het bronbestand jquery-1.2.6.min.jswordt niet het jQuery-commando genoemd $()wordt eerder uitgevoerd dan <..src='jquery-1.2.6.min.js'>.

Voer het <.. src="/js/jquery-1.2.6.min.js..">Eerlijk en zorg ervoor dat het SRC-pad klopt, voert u jQuery uit commando

$(document).ready(function() 

Antwoord 19

Dit is eerder met mij gebeurd.

De reden was dat ik Android aan het verbinden met een webview met een JS. En ik stuurde een parameter zonder aanhalingstekens.

js.sayHello(hello);

en toen ik het heb gewijzigd in

js.sayHello('hello');

het werkte.


Antwoord 20

Uw JavaScript-bestand ontbreekt, zodat deze fout is opgetreden. Voeg gewoon het JavaScript-bestand toe binnen de Hoofd- en GT <head>TAG. Zie het voorbeeld:

<script src="js/sample.js" type="text/javascript"></script>
<link href="css/sample.css" rel="stylesheet" type="text/css" />

of voeg de volgende code toe in tag:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

Antwoord 21

In mijn geval vergat ik dit op te nemen:

<script src ="jquery-2.1.1.js"></script>

Eerder was ik inclusief gewoon jQuery-Mobile die deze fout veroorzaakte.


Antwoord 22

De fout zal ook in de volgende twee scenario’s optreden.

  1. @section-scripts-element ontbreekt in het HTML-bestand
  2. Fout bij het openen van DOM-elementen. Bijvoorbeeld toegang tot DOM-element wordt genoemd als $ (“JS-TOGELE”) in plaats van $ (“. JS-Toggle”). Eigenlijk ontbreekt de periode

Zo 3 dingen te volgen – Controleer de vereiste scripts worden toegevoegd, controleer of deze wordt toegevoegd in de gewenste volgorde en derde syntaxisfouten in uw Java-script.


Antwoord 23

Ik heb de script-tag gewijzigd om naar de juiste inhoud te wijzen en veranderde het scriptvolgorde om de juiste in de editor te zijn. Maar volledig vergeten om de verandering op te slaan.


Antwoord 24

Ik had een soortgelijk probleem. Mijn testserver werkte prima met “http”. Het is echter mislukt in de productie die SSL had.

Dus in de productie, voegde ik “HTPPS” aan in plaats van “HTTP” en in de test, gehouden, zoals het “http” is.

Test:

wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', array(), null, false );
wp_register_script( 'custom-script', plugins_url( '/js/custom.js', __FILE__ ), array( 'jquery' ) );

Productie:

wp_register_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', array(), null, false );
wp_register_script( 'custom-script', plugins_url( '/js/custom.js', __FILE__ ), array( 'jquery' ) );

Ik hoop dat dit iemand zal helpen die aan WordPress werkt.


Antwoord 25

Doe! Ik had gemengde aanhalingstekens in mijn tags waardoor de jQuery-referentie brak. Door een inspectie in Chrome uit te voeren, kon ik zien dat het bestand niet correct was gekoppeld.


Antwoord 26

Je hebt niet naar een jQuery-bibliotheek verwezen.

U moet een regel als deze in uw HTML opnemen:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

Antwoord 27

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="local_xxx.js"></script>

Ik heb een soortgelijk probleem, en weet je wat, het komt omdat het netwerk is losgekoppeldwanneer ik test in de webview van het Android-apparaat en ik realiseer me het niet, en de lokale js is geen probleem om te laden omdat het heeft geen netwerk nodig. Het lijkt belachelijk, maar het verspilt mijn ~1 uur om erachter te komen.


Antwoord 28

Ik had een soortgelijk probleem en dat kwam doordat ik een afsluitende > op een stylesheet-link.


Antwoord 29

Vreemd genoeg, mijn probleem kwam van PHP.

Een REST API-aanroep mislukte en het laden van de bibliotheken werd daarna verbroken. Omdat de fout afkomstig was van de REST-aanroep, gaf het me geen php-compileerfout.

Bewaar dit ook als een optie, als het laden van jQuery in orde lijkt.


Antwoord 30

Ik had dit probleem toen ik op internet aan het surfen was via mijn mobiele hotspot. het comprimeerde ook afbeeldingen en voegde het volgende script toe onderaan de body-tag

<script language="javascript"><!--
bmi_SafeAddOnload(bmi_load,"bmi_orig_img");//-->
</script>

Als ik verbinding heb gemaakt met de juiste wifi-verbinding, lijkt alles voor mij te werken. Ik hoop dat dit iemand helpt.

Other episodes