Lupinius: jQery Problem

Salve

Ich wollte mich ein bisschen mit jQuery beschäftigen, scheitere jedoch schon am ersten Code eines Tutorials. Meine Seite sieht so aus:

<html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>  
        <title>jQuery Test</title>  
        <script type="text/javascript" src="jquery.js"></script>  
        <script type="text/javascript">  
  
            [code lang=javascript]$("a").click(function(){  
                $("a").addClass("test");  
                return false;  
            });

</script>
        <style type="text/css">
            a.test{ color:blue; }
        </style>
    </head>
    <body>
        <a href="#">Test</a>
    </body>
</html>[/code]

Allerdings ändert der Link beim Klick nicht die Klasse. Laut Fehlerkonsole ist aber nichts falsch.

--
sh:( fo:| ch:? rl:( br:> n4:? ie:{ mo:) va:) js:| de:> zu:} fl:| ss:) ls:[  
  1. Tach,
    Meine Vermutung:
    Du fügst den Event-Handler hinzu BEVOR der Body geladen ist. Das kann dazu führen, dass dein "a"-Tag nicht mitgenommen wird bei dem "$("a").

    Probier mal:

      
    $(document).ready(function () {  
        $("a").click(function(){  
                    $("a").addClass("test");  
                    return false;  
                });  
    });  
      
    
    

    Damit fügst Du den Handler erst hinzu, wenn Deine HTML-Datei komplett geladen wird & stellst so sicher, dass sich $("a") auch wirklich auf ALLE a's bezieht.

    Hope that helps,
    Jörg

    1. Salve

      Funktioniert, danke für die schnelle Antwort.

  2. Hi,

    Allerdings ändert der Link beim Klick nicht die Klasse. Laut Fehlerkonsole ist aber nichts falsch.

    nein, jQuery fängt es hervorragend ab, dass Du Methoden auf genau null Elemente ausführen willst. Und genau das passiert hier. Oder erwartest Du von jQuery, dass es in die Zukunft sehen kann?

    Das kann es nämlich nicht. Es kann lediglich beispielsweise mittels $(document).ready() auf die Zukunft warten.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes