există un selector css pentru asta?

Am una sau două divs pe pagină cu o clasă/clase de foo. Trebuie să select numai al doilea, adică dacă nu există pe pagină o singură pagină, nu o selectați.

Am incercat <div> <div> div.foo:nth-child (2) si amandoua nu functioneaza.

Vreo idee?

1
: primul este un selector jQuery. Nu există în CSS.
adăugat autor BoltClock, sursa

2 răspunsuri

Nu există un selector : nth-of-class() , dar dacă ambele elemente div.foo partajează același părinte, puteți utiliza unul dintre selectorii fratelui dacă al doilea div.foo vine imediat după prima sau nu:

div.foo + div.foo /* Is immediately after */
div.foo ~ div.foo /* Is somewhere after among its siblings */

Dacă există mai mult de două astfel de div s, este posibil să trebuiască să anulați stilurile din regula de mai sus utilizând unul dintre ele pentru elementele următoare:

div.foo + div.foo ~ div.foo
div.foo ~ div.foo ~ div.foo

Și nu vă faceți griji cu privire la asistența browserului, aceasta funcționează în IE7 +.

4
adăugat
Funcționează de asemenea numai dacă ambele sunt conținute în același părinte.
adăugat autor Sivvy, sursa
Dacă elementele div.foo nu au același părinte, atunci va trebui să utilizați jQuery cu primul selector, ca în $ ('div.foo:not(:first ) ') .
adăugat autor BoltClock, sursa

Depinde de câteva lucruri. Te-ai testa pe IE? Sunt elementele din interiorul aceluiași părinte?

Dacă elementele nu sunt în interiorul aceluiași părinte, nu sunt sigur că pot folosi acești selectori și, din câte îmi amintesc, ei nu lucrează în prezent la IE (cu excepția selectorilor de frate și nu sunt siguri de IE9 +) .

0
adăugat