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 src
attribuut, 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.cshtml
uw <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.cshtml
pagina @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.js
wordt 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.
- @section-scripts-element ontbreekt in het HTML-bestand
- 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.