Die Selektoren von jQuery erweitern

Ich bin über einen recht interessanten Artikel im Blog von James Padolsey gestolpert, der nachhaltig Arbeit einsparen kann, insofern man jQuery verwendet. Die Selektoren von jQuery sind ja bereits hinreichlich bekannt, wie zum Beispiel :first-child und :last-child. Lustigerweise zeigt die Praxis, dass man gerade den Selektor verwenden möchte, den jQuery gerade nicht anbietet. Man kann zwar auch ohne Selektoren auf die Elemente zugreifen, aber dies ist in der Regel aufwendig und was noch viel wichtiger ist: Es verlangsamt den verwendeten Code.

Screenshot von James Padolseys Blog

James zeigt in seinem Blog allerdings, das es ziemlich einfach ist eigene Selektoren zu schreiben:

$.extend($.expr[':'],{
   inline: function(a) {
      return $(a).css('display') === 'inline';
   }
});

Fügt dem System den neuen Selektor :inline hinzu, der dann ganz normal angewendet werden kann:

$(':inline'); // Selects ALL inline elements
$('a:inline'); // Selects ALL inline anchors

Das spart jede Menge Arbeit und hält den Code übersichtlich, eine feine Sache, wie ich finde vor allem wenn man sich eine Bibliothek häufig verwendeter Selektoren anlegt, die jQuery dummerweise nicht anbietet.

Ähnliche Beiträge

OpenJS Grid – Visualisierung von Daten via Ajax Ok, der Titel ist vielleicht etwas mystisch, im Endeffekt reden wir über einen mit JavaScript aufgebohrten Table ;) Ich habe mich ja schon des Öfteren...
Nivo – ultimativer Image Slider für jQuery Image Slider gibt es inzwischen wie Sand am Meer und irgendwie werden sie langsam langweilig! Letztendlich machen sie alle den gleichen Fade-Effekt un...
jQuery Boilerplate – jQuery Plugins für Dumm... Im Bereich der Webentwicklung bewegen wir uns derzeit in einem Bereich, in dem Code nicht nur funktionieren, sondern auch wiederverwendbar sein muss. ...
Bacon.js – Bezier-Kurven für Texte Das Leben eines Webworkers ist nicht einfach, vor allem dann wenn man einem Kunden erklären muss, dass ein Bild mit Transparenz - auch wenn es dreimal...

Ein Kommentar

Schreibe einen Kommentar