$(document).ready()
po prostu pewność, że wszystkie elementy DOM są ładowane zanim twój JavaScript jest załadowany.
Kiedy to nie ma znaczenia
Nie czekając na to wydarzenie do ognia, może skończyć się manipulować elementów DOM lub style, które są jeszcze istnieć na stronie. Zdarzenie DOM ready pozwala również na większą elastyczność w uruchamianiu skryptów w różnych częściach strony. Na przykład:
<div id="map"></div>
<script type="text/javascript">document.getElementById('map').style.opacity = 0;</script>
będzie działać, ponieważ div został załadowany przed uruchomieniem skryptu. W rzeczywistości możesz uzyskać numer pretty good performance improvements, umieszczając swoje skrypty na dole strony.
Kiedy to ma znaczenie
Jednak jeśli ładowanie skryptów w elemencie <head>
, większość DOM nie załadowany. Ten przykład nie zadziała:
<script type="text/javascript">document.getElementById('map').style.opacity = 0;</script>
<div id="map"></div>
nie będzie, ponieważ div mapy nie został załadowany.
Bezpieczne rozwiązanie
Można tego uniknąć, po prostu poczekać, aż cała DOM został załadowany:
<script type="text/javascript">$(document).ready(function() {
document.getElementById('map').style.opacity = 0;
});
</script>
<div id="map"></div>
Istnieje wiele articles że wyjaśnienia tego, jak również samego jQuery documentation.
Dobrze 'var' jest rzeczą, która jest poważnie nie tak jak inni ... – Pointy
See [ta odpowiedź] (http://stackoverflow.com/a/10661977/575527) – Joseph
Do pointy, widziałem [var ] napisane też w głowie i ciele, więc zastanawiałem się, czy są jakieś różnice. Mark Schultheiss, Pytam o różnice, nie o to, czy fragment scenariusza powinien być w głowie czy ciele. To trochę inaczej. W każdym razie dzięki. –