2011-01-17 4 views
3

Ich versuche, zwei Fälle in meinem CSS-Selektor auszuschließen. Derzeit sieht die Wähler wie folgt aus:

$$('select:not([class=session])').each(function(){ 
    //blah blah 
}) 

Aber ich möchte eine andere Klasse auszuschließen dem Namen „sessionproperties“

Gibt es eine Möglichkeit mehr als eine in einem einzigen Selektor Anweisung ausschließen? Jede Hilfe dazu ist willkommen.

Hinweis: Ich habe versucht, mit dem ~ = Operator für das Wort "Sitzung", aber es funktioniert überhaupt nicht für mich.

Antwort

6

Ich weiß nicht, warum Sie das Klassenattribut benötigen, ist das, was ein . Selektor für ist. Sie können separate Subselektoren in der :not wie Sie können, wenn Sie sie in Ihrem Stylesheet definieren.

$$('select:not(.session, .sessionproperties)').each(function() { 
... 
}) 
+0

lol, so Prototyp tut das gleiche wie jQuery. Sollte das besser überprüft haben. =) +1 – Marnix

+0

das hat funktioniert. Danke –

+0

@Madison Yep, ich bin zuversichtlich, dass sie alle nur "document.querySelectorAll" zu diesem Zeitpunkt nutzen, so dass sie die w2c-Spezifikationen entsprechen müssten. – Hemlock

0

Prototyp unterstützt Selektoren CSS3 Syntax,

Warum also das Komma nicht versuchen?

$$('select:not([class=session]), select:not([class=sessionproperties]').each(function(){ 
    //blah blah 
}) 
+0

Ich versuchte das, bevor ich dies auch postete. Aus irgendeinem Grund bricht es auch die erste not() Anweisung und wählt einfach alle