Vi har pratat mycket om väljare. En jQuery-väljare som $ (“h1”) markerar alla
Kommer det $("h1").css("color", "red");
Men ibland laddas manus i huvudet. Det finns alla möjliga ursäkter för det, mest dåligt, men hej låt oss inte bli för domare-y utan detaljer =).
Vi kan fortfarande fixa problemet med att inte hitta element på ett ganska tillfredsställande sätt även om vi tvingas ladda skript i huvudet. Vi gör det genom funktionen jQuery “DOM Ready”. Bokstavligen när dokumentet är klart och redo att manipuleras. Det ser ut så här:
$(document).ready(function() ( ));
Det finns en kortare version som gör exakt samma sak:
$(function() ( ));
Att sätta in din kod i en sådan funktion säkerställer att den inte körs förrän dokumentet är klart. Det är faktiskt en ganska smart bit kod som gör det, vilket naturligtvis är svårt att göra webbläsare. Vad som är coolt med det är att det är ganska snabbt. Det är inte samma sak som att vänta på att hela fönstret ska laddas, vilket är långsamt, eftersom det väntar på att alla resurser ska laddas ned innan de skjuts. DOM-redo händer mycket tidigare. Om du behöver vänta på att resurser ska göras (t.ex. att du måste mäta en bild) kan du vänta på det så här:
$(window).load(function() ( ));
Åtgärda vårt tidigare JavaScript-in-the-head problem med DOM redo, koden skulle se ut så här:
Learning jQuery $(function() ( $("h1").css("color", "red"); ));