Was ist jQuery?
Es ist eine Vereinfachung von JavaScript durch ein sogenanntes Framework, welches uns lästige Routinearbeit beim Programmieren abnimmt und einen einfachen Zugang zu schwer nutzbaren JavaScript-Methoden bietet.
JavaScript mit & ohne jQuery!
Für den Einstieg in das Thema möchte ich ein Beispiel mit JavaScript und den selben Effekt via jQuery zeigen.
JavaScript: (JavaScript_test1.html)
<html> <head> <title>JavaScript</title> <style type="text/css"> .green { color: #009933; } </style> <script tyle="text/javascript"> window.onload = function() { var elements = document.getElementById("box").getElementsByTagName("p"); for (var i = 0; i < elements.length; i++) { if (elements[i].firstChild.data == "Zweiter Absatz") { elements[i].className = "green"; } } } </script> </head> <body> <div id="box"> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body> </html>
jQuery: (jQuery_test1.html)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p:contains('Zweiter Absatz')").css({ 'color' : '#009933' }); }); </script> </head> <body> <div id="box"> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body> </html>
Wie man an diesem Beispiel erkennen kann, sind die “Selektoren” ein sehr wichtiger / umfangreicher Teil von jQuery.
jQuery-Selektoren
Als nächstes möchte ich einige jQuery-Selektoren und Methoden zum Auswählen von HTML-Elementen zeigen. Doch zuerst sollten wir die selben Werkzeuge zum ausführen & debuggen von JavaScript (jQuery) nutzen. Da JavaScript direkt im Browser kompiliert wird, könnten wir die Code-Zeilen auch direkt im Browser ausführen: Firefox + Firebug oder z.B. hier html5snippet.net
Selektiert alle HTML-Elemente von einem bestimmten Typ. -> z.B.: $(“p”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body> </html>
Selektiert HTML-Elemente mit einer bestimmten ID. -> z.B.: $(“#box”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("#box").addClass("green"); }); </script> </head> <body> <div id="box"> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body> </html>
PS: ID’s müssen auf einer HTML-Seite einmalig sein!
Selektiert HTML-Elemente mit einer bestimmten CSS-Klasse. -> z.B.: $(“.box”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div div .box").addClass("green"); }); </script> </head> <body> <div class="box"> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> <div> <div> <div class="box"> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </div> </div> </body> </html>
Hier wurde die Auswahl noch einmal via HTML-Tags (div) eingeschränkt.
Selektiert HTML-Elemente und die Auswahl weiterer Selektoren. -> z.B.: $(“div + .box”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div + .box").addClass("green"); }); </script> </head> <body> <div class="box"> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> <div> <div> <div class="box"> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </div> </div> <div class="box"> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body> </html>
Selektiert alle HTML-Elemente X, die Kindknoten eines Elements Y sind. -> $(“X > Y”) -> z.B: $(“div > p”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div > p").addClass("green"); }); </script> </head> <body> <div> <span> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </span> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body> </html>
Selektiert alle folgenden Geschwisterknoten eines Elements X, die den Typ Y besitzen. -> $(“X ~ Y”) -> z.B: $(“#start ~ p”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("#start ~ p").addClass("green"); }); </script> </head> <body> <div> <p id="start">Erster Absatz</p> <p>Zweiter Absatz<p> <div> <p>Dritter Absatz<p> </div> <p>Vierter Absatz</p> </div> </body> </html>
Selektiert die Kombination aus allen durch die Selektoren gewählten Knoten. -> z.B: $(“#p1, #p2, #p3”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("#p1, #p2, #p3").addClass("green"); }); </script> </head> <body> <div id="box"> <p id="p1">Erster Absatz</p> <p id="p2">Zweiter Absatz</p> <p id="p3">Dritter Absatz</p> </div> </body> </html>
Selektiert bestimmte HTML-Kind-Tags. -> z.B: $(“#box”).find(“p”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("#box").find("p").addClass("green"); }); </script> </head> <body> <div id="box"> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body> </html>
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("#box").find("*").addClass("green"); }); </script> </head> <body> <div id="box"> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body> </html>
Selektiert über Attribute. -> z.B: $(“div[id]”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div[id]").addClass("green"); }); </script> </head> <body> <div id="box"> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body> </html>
Selektiert über Attribute und dessen Werte. -> z.B: $(“div[id=’box’]”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div[id='box']").addClass("green"); }); </script> </head> <body> <div id="box1"> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div id="box"> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body> </html>
Selektiert über HTML-Tags und dessen Anordnung in der HTML-Struktur. -> z.B: $(“div:first”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div:first").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body> </html>
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div:last").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body> </html>
Selektiert alle Elemente mit geradem Index innerhalb der aktuellen Auswahl. (0 ist even) -> z.B: $(“div p:even”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div p:even").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> <p>Vierter Absatz</p> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> <p>Vierter Absatz</p> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> <p>Vierter Absatz</p> </div> </body> </html>
Selektiert alle Elemente mit ungeradem Index innerhalb der aktuellen Auswahl. (1 ist odd) -> z.B: $(“div p:odd”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div p:odd").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> <p>Vierter Absatz</p> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> <p>Vierter Absatz</p> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> <p>Vierter Absatz</p> </div> </body> </html>
Selektiert alle Elemente die nicht zutreffen. -> z.B: $(“div:not(:last)”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div:not(:last)").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body>
Selektiert Elemente, die innerhalb der aktuellen Auswahl einen bestimmten Index haben. -> z.B: $(“div p:eq(1)”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div p:eq(1)").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body>
Selektiert alle Elemente, die innerhalb der aktuellen Auswahl einen bestimmten größeren Index haben. -> z.B: $(“div p:gt(1)”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div p:gt(1)").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body>
Selektiert alle Elemente, die innerhalb der aktuellen Auswahl einen bestimmten kleineren Index haben. -> z.B: $(“div p:lt(1)”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div p:lt(1)").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body>
Selektiert alle Elemente, die sich innerhalb der aktuellen Auswahl “bewegen”. -> z.B: $(“div p:animated”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { function run() { $("#test").slideToggle("slow",run); } run(); $("div p:animated").addClass("green"); }); </script> </head> <body> <div> <p id="test">Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body>
Selektiert alle Elemente, die mindestens ein Element enthalten, auf die der Selektor zutrifft. -> z.B: $(“div:has(‘span’)”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div:has('span')").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body>
Selektiert alle Elemente, die Elternelement eines anderen Knotens sind. (also sowohl von Element- als auch Textknoten) -> z.B: $(“p:parent”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p:parent").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <p></p> <p>Zweiter Absatz</p> </div> </body>
Selektiert alle Elemente, die über ein bestimmtes Attribut verfügen. -> z.B: $(“[name]”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("[name]").addClass("green"); }); </script> </head> <body> <div> <p name="Erster_Absatz">Erster Absatz</p> <span name="Zweiter_Absatz">Zweiter Absatz</span> <p name="Dritter_Absatz">Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body>
Selektiert alle Elemente, die über ein bestimmtes Attribut mit einem bestimmten Wert verfügen. -> z.B: $(“span[name=’Zweiter_Absatz’]”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("span[name='Zweiter_Absatz']").addClass("green"); }); </script> </head> <body> <div> <p name="Erster_Absatz">Erster Absatz</p> <span name="Zweiter_Absatz">Zweiter Absatz</span> <p name="Dritter_Absatz">Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body>
Selektiert ein Element, wenn das Attribut einen bestimmten Wert, oder den bestimmten Wert mit einem “Bindestrich” abgetrennten String folgt -> z.B: $(“p[name|=’Absatz’]”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p[name|='Absatz']").addClass("green"); }); </script> </head> <body> <div> <p name="Absatz-Erster">Erster Absatz</p> <p name="AbsatzZweiter">Zweiter Absatz</p> <p name="Absatz_Dritter">Dritter Absatz</p> <p name="Absatz-Vierter">Vierter Absatz</p> </div> </body>
Selektiert ein Element, wenn der Wert des benannten Attributs den übergebenen String als Substring enthält. -> z.B: $(“p[name*=’Absatz’]”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p[name*='Absatz']").addClass("green"); }); </script> </head> <body> <div> <p name="Absatz-Erster">Erster Absatz</p> <p name="AbsatzZweiter">Zweiter Absatz</p> <p name="Absatz_Dritter">Dritter Absatz</p> <p name="Absatz-Vierter">Vierter Absatz</p> </div> </body>
Selektiert ein Element, wenn der Wert des benannten Attributs durch Leerzeichen abgetrennten Teilwert des benannten Attributes oder dem vollständigen Wert entspricht. -> z.B: $(“p[name~=’Absatz’]”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p[name~='Absatz']").addClass("green"); }); </script> </head> <body> <div> <p name="Absatz Erster">Erster Absatz</p> <p name="AbsatzZweiter">Zweiter Absatz</p> <p name="Absatz_Dritter">Dritter Absatz</p> <p name="Absatz Vierter">Vierter Absatz</p> </div> </body>
Selektiert alle Elemente, die nicht einem bestimmten Attribut entsprechen. -> z.B: $(“p[name!=’Absatz’]”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p[name!='Absatz']").addClass("green"); }); </script> </head> <body> <div> <p name="Absatz">Erster Absatz</p> <p name="AbsatzZweiter">Zweiter Absatz</p> <p name="Absatz_Dritter">Dritter Absatz</p> <p name="Absatz Vierter">Vierter Absatz</p> </div> </body>
Selektiert alle Elemente, die mit einem bestimmten Attribut beginnen. -> z.B: $(“p[name^=’Absatz’]”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p[name^='Absatz']").addClass("green"); }); </script> </head> <body> <div> <p name="Erster_Absatz">Erster Absatz</p> <p name="AbsatzZweiter">Zweiter Absatz</p> <p name="Absatz_Dritter">Dritter Absatz</p> <p name="VierterAbsatz">Vierter Absatz</p> </div> </body>
Selektiert alle Knoten, die der erste (letzte) Kindknoten ihres Elternelements sind. -> z.B: $(“p[name^=’Absatz’]”)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p:first-child, p:last-child").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body>
Erzeugt ein neues jQuery-Objekt aus dem unmittelbar folgendem Geschwisterknoten der Elemente der aktuellen Auswahl. -> z.B: $(“p”).next(‘span’)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p").next('span').addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body>
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("span").next().addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body>
Holt die Kindelemente jedes Elements der Auswahl. -> z.B: $(“div”).children()
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div").children().addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body>
Erzeugt eine neue Auswahl aus den Elternknoten jedes Elements der aktuellen Auswahl. -> z.B: $(“span”).parent()
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("span").parent().addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> <div> <p>Erster Absatz</p> <p>Zweiter Absatz</p> <p>Dritter Absatz</p> </div> </body>
Erzeugt ein neues jQuery-Objekt aus den unmittelbar vorherigen Geschwisterknoten des Elemente der aktuellen Auswahl. -> z.B: $(“span”).prev()
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("span").prev().addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body>
Erzeugt ein neues jQuery-Objekt aus allen folgenden Geschwisterknoten der Elemente der aktuellen Auswahl. -> z.B: $(“p”).nextAll()
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p").nextAll().addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body>
Erzeugt ein neues jQuery-Objekt aus allen vorherigen Geschwisterknoten der Elemente der aktuellen Auswahl. -> z.B: $(“p”).prevAll()
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("p").prevAll().addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> </div> </body>
Bildet eine Auswahl aus allen Geschwisterknoten der Elemente der aktuellen Auswahl. -> z.B: $(“span”).siblings()
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("span").siblings().addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> <p>Vierter Absatz</p> </div> </body>
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("span").siblings().add("span").addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> <p>Vierter Absatz</p> </div> </body>
Bildet auf der Decendant-Achse der Elemente der aktuellen Auswahl eine neue Auswahl aus Elementen, die dem angegebenen Selektor entsprechen. -> z.B: $(“div p”).filter(‘:contains(Erster Absatz)’)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div p").filter(':contains(Erster Absatz)').addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> <p>Vierter Absatz</p> </div> </body>
Bildet auf der Decendant-Achse der Elemente der aktuellen Auswahl eine neue Auswahl aus Elementen, die dem angegebenen Selektor nicht entsprechen. -> z.B: $(“div p”).not(‘:contains(Erster Absatz)’)
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("div p").not(':contains(Erster Absatz)').addClass("green"); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> <p>Vierter Absatz</p> </div> </body>
<html> <head> <title>JavaScript mit und ohne jQuery!</title> <style type="text/css"> .green { color: #009933; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { var auswahl = $("div p"); auswahl.clone().appendTo('#test'); auswahl.not(':contains(Erster Absatz)').addClass("green").end().css({ 'color' : 'red', 'background-color' : 'black' }).last().css({ 'color' : 'yellow'}); }); </script> </head> <body> <div> <p>Erster Absatz</p> <span>Zweiter Absatz</span> <p>Dritter Absatz</p> <p>Vierter Absatz</p> </div> <br> <div id="test"></div> </body>
jQuery-Beispiel
Zum Schluss möchte ich noch ein einfaches Beispiel mit Selektoren zeigen …
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <title>jQuery-Selektoren | Beispiel</title> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <h1>TEST: JPEG + PNG</h1> <div class="pic_all" style="float: left; overflow: hidden; width: 85px; height: 54px; margin: 0 3px 3px 0; text-align: center; border: 1px solid #ffffff;"> <img src="SUCKUP_PNG.png" alt="PNG: Original > 10 KB" height="54"> </div> <div class="pic_all" style="float: left; overflow: hidden; width: 85px; height: 54px; margin: 0 3px 3px 0; text-align: center; border: 1px solid #ffffff;"> <img src="SUCKUP_PNG_punypng.png" alt="PNG: Optimized > 9 KB" height="54"> </div> <div class="pic_all" style="float: left; overflow: hidden; width: 85px; height: 54px; margin: 0 3px 3px 0; text-align: center; border: 1px solid #ffffff;"> <img src="SUCKUP_JPEG_100.jpg" alt="JPEG: 100% Qualität > 27 KB" height="54"> </div> <div class="pic_all" style="float: left; overflow: hidden; width: 85px; height: 54px; margin: 0 3px 3px 0; text-align: center; border: 1px solid #ffffff;"> <img src="SUCKUP_JPEG_80.jpg" alt="JPEG: 80% Qualität > 9 KB" height="54"> </div> <div class="pic_all" style="float: left; overflow: hidden; width: 85px; height: 54px; margin: 0 3px 3px 0; text-align: center; border: 1px solid #ffffff;"> <img src="SUCKUP_JPEG_60.jpg" alt="JPEG: (60% Qualität > 7 KB" height="54"> </div> <br clear:both><div style="float:left"> <img style="margin-top: 50px; margin-left: -450px;" id="refMain" src=""><br> <div style="width: 420px; margin-left: -450px;" id="imageText"></div> </div> <script type="text/javascript"> $('div.pic_all').css({ 'border-color' : '#ffffff', '-moz-opacity' :'0.4' }); $(document).ready(function() { $('div.pic_all').each(function() { $(this).mouseenter(function() { $(this).css('border-color', '#EE398C').css('-moz-opacity', '1'); $('div.pic_all').css({ 'border-color' : '#ffffff', '-moz-opacity' :'0.4' }); $(this).css('border-color', '#EE398C').css('-moz-opacity', '1'); var src_new = $(this).find('img').attr('src'); $('#refMain').attr('src', src_new); var text_new = $(this).find('img').attr('alt'); $('#imageText').html(text_new); }); $(this).mouseleave(function() { $(this).css('border-color', '#ffffff').css('-moz-opacity', '0.4'); if ($(this).find('img').attr('src') == $('#refMain').attr('src')) { $(this).css('border-color', '#EE398C').css('-moz-opacity', '1'); } }); }); }); </script> </body> </html>