jQuery anchor hash Selektor

Geschrieben von everflux am April 21st, 2012

In älteren Versionen von jQuery konnte man einen Selektor für den hash Wert von Links schreiben. (Der Hash Wert ist der Teil hinter „#“ in einem Link element, man kann damit verschiedene Bereiche in einer Seite anspringen.)

Das sah mit jQuery 1.2.6 z.B. so aus:

$("a[hash='#sprungMarke']");

Bei neueren jQuery Versionen ist das nicht mehr so explizit möglich. Dafuer gibt es jedoch Selektoren mit denen man auf Inhalte und partielle Inhalte von Attributen matchen kann. Hiermit ist es dann wieder möglich auf den Hash Wert zu matchen, denn es handelt sich dabei gerade um das Ende des „href“ Attributes eines Links.

Mittels „$“ kann man das Suffix-Matching für den Wert eines Attributes machen.

Damit sieht das dann so aus:

$("a[href$='#sprungMarke']");

Die neuen, flexibleren, Selektoren von jQuery können also Arbeit sparen, wenn man sich ihrer Mächtigkeit bewusst ist.

Netbeans TDD Produktivität

Geschrieben von everflux am April 21st, 2012

Test driven development ist inzwischen schon fast ein alter Hut. Um so mehr ist es wichtig, dass die Produktivität stimmt. Hält man sich an bestimmte Namenskonventionen, so unterstützen alle modernen IDEs schnelles Umschalten zwischen Test-Code und Produktionscode.

Dazu nennt man seine Testklasse genauso wie die Class-under-test, beispielsweise „FibonacciTest“ falls die eigentliche Klasse „Fibonacci“ heißt. Mittels Control-Shift-T kann man in Netbeans dann zwischen den beiden Klassen umschalten. Heute habe ich noch was gelernt: Control-F6 startet den Unit test – und zwar auch dann, wenn man ihn nicht fokussiert hat, also in der eigentlichen Klasse im Editor ist. („Fibonacci“ in diesem Beispiel)

Das spart unnötige Kontext-Switche, macht einfach Spaß und bringt Produktivität. Mein Tipp: Ausprobieren!

Mit Alt-F6 startet man übrigens alle Tests zu einem Projekt. (Falls einem nicht komische Ubuntu Tastenkürzel dazwischenfunken.)


http://everflux.de/
Copyright © 2007, 2008 everflux. Alle Rechte vorbehalten. All rights reserved.