2009-06-26 14 views
7

To może brzmieć jak proste pytanie, ale po prostu nie mogę znaleźć odpowiedzi na google, prawdopodobnie dlatego, że wyszukiwany termin przyniesie sporo nieistotności.jQuery selector AND operator

Chciałbym selektor jQuery, aby wybrać wszystkie wiersze wierszy nieparzystych, które nie są w <thead> i zastosować klasy css do nich wszystkich.

table.cp-ss-grid tr:odd 

Powyższy selektor przywróci wszystkie nieparzyste wiersze w tabeli poprawnie, ale będzie zawierać wiersze THEAD (na IE)

Jak bym w selektorze zrobić i, czyli coś takiego:

table.cp-ss-grid tr:odd:not(thead) 

powyższe nie działa i nadal przynosi powrót wiersze THEAD

Jakieś pomysły?

Odpowiedz

6

Dlaczego nie:

$('table.cp-ss-grid > tbody > tr:odd'); 

Aby jawnie wybrać ciało wydziwianie? Wszystkie przeglądarki dodadzą ci tbody, jeśli go nie masz.

+3

UWAGA: Przeglądarki dodadzą tbody do HTML, ale nie do XHTML. (XHTML służy jako text/html zlicza jako HTML - jeszcze jeden powód, dla którego jest to zły pomysł) – Quentin

0

jeśli używasz th do głowy i td do innych wierszy, można sprawdzić, że dziecko td mają,

.children('td') 
0

table.cp-ss-grid tr:odd zaznaczyć cały dziwny rowb która nie będzie zawierała nagłówek

jeśli chcesz określić kolor nagłówka używać :nth-child(n)

11

AND selektor jQuery byłoby na przykład: .classA.classB

To wybrałoby elementy, które mają klasę A i klasę B.