Seite 1 von 1

JQuery wird nicht geladen

Verfasst: Di Jun 21, 2011 2:58 pm
von sukka
Hallo liebe Programmierfreunde und solche, die werden wollen,

ich habe ein merkwürdiges Verhalten von JQuery:

ich kann in keinem meiner Browser, sei es IE, Opera, FF, Whatever JQuery benutzen, zumindest nicht im Code angesteuert. Die Console der Debugger (IE die F12 Taste, FF Firebug, Opera Dragonfly) liefert keine Fehlermeldungen, das Komische ist, dass wenn ich dieselben Befehle in Überwachung setze, die ich vom Code her ansteuern will

Code: Alles auswählen

		<script type="text/javascript">
			 
			$(".dva").hover(function(){$(this).parents(".links").append($('<img class="myImage" style="margin-top:-160px;" src="PublishingImages/dva.png"/>'));},function(){$(this).parents(".links").remove($('<img class="myImage" style="margin-top:-160px;" src="PublishingImages/dva.png"/>'));});
			
		</script>

funktionieren im Code nicht. Aber in der Überwachung (Watch in den Konsolen der Browser)
funktionieren diese Befehle ohne Probleme und tun, was sie sollen. Das heißt JQuery wird geladen, ich kann es aber nicht im Code ansprechen sondern nur zur Laufzeit des Browsers... was mach ich falsch?


Grüße,

Sukka

Re: JQuery wird nicht geladen

Verfasst: Mi Jun 22, 2011 9:03 am
von sukka
Fehler letztendlich gefunden, der Code stand an der falschen Stelle. JQuery kannte zu dem Zeitpunkt wo der Code ausgeführt wurde den Selector nicht.
Abgesehen vom IE lieferten allerdings keine Browser irgendwelche Meldungen.

Grüße,

Sukka

Re: JQuery wird nicht geladen

Verfasst: Mi Jun 22, 2011 9:31 am
von Kerli
sukka hat geschrieben:Abgesehen vom IE lieferten allerdings keine Browser irgendwelche Meldungen.
Warum auch? Das ist ja schließlich das normale verhalten, wenn der Selector nicht matcht dann sollte doch einfach gar nichts passieren. Bei jQuery ist es sinnvoll seinen Code immer in den DOM-ready callback zu packen, also zb so:

Code: Alles auswählen

$(function()
{
  // ganz viel code
  // $(handler) ist eine kurzform von $(document).ready(handler);
});