Hi,
Dies ist nötig, da das class-Attribut mehrere Whitespace-getrennte Klassennamen enthalten darf und andererseits mit "foo" nicht die Klasse "foolish" oder "barfood" gefunden werden soll.
Kompakter/ueberischtlicher waere die Verwendung von Wortgrenzen, also \bfoo\b
Das mag zwar übersichtlicher sein, ist aber falsch.
\b matcht eine Position, auf der auf einer Seite ein Word-Character ist und auf der anderen Seite kein Word-Character.
Nicht jede dieser Stellen muß eine Grenze für eine Klasse sein.
täst ist z.B. ein zulässiger Klassenname (sowohl in HTML als auch in CSS).
ä wird (zumindest in den Javascript-Interpretern von Firefox und Opera) nicht als Word-Character betrachtet.
Bei "täst" gibt es also 4 Stellen, an denen \b matcht (vor dem ersten t, zwischen dem t und dem ä, zwischen dem ä und dem s und nach dem zweiten t.
Bei "test" gibt es nur 2 Stellen, an denen das \b matcht (vor dem ersten und nach dem zweiten t).
Probier mal
alert("test".match(/\bt\b/) + "\n" + "täst".match(/\bt\b/));
aus.
In der ersten Zeile steht null (weil kein match), in der zweiten t (weil das erste t gematcht wird).
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.