İlk seçim hariç tümü için CSS3 seçici sorusu


92

Aşağıdaki işaretlemeyle, bir CSS seçicinin, her div seçeneklerindeki ilk seçim menüsü dışında tümünü seçmesini istiyorum - bunlardan çok sayıda olabilir:

<div class="options">
    <div class="opt1">
        <select title="Please choose Warranty">
            <option value="">Select Waranty</option>
            <option value="1">1 year guarantee</option>
            <option value="2">3 year guarantee</option>
        </select>
    </div>
    <div class="opt2">
        <select title="Please choose Color">
            <option value="">Select Color</option>
            <option value="1">Red</option>
            <option value="2">Blue</option>
        </select>
    </div>
    <div class="opt3">
        <select title="Please choose Size">
            <option value="">Select Size</option>
            <option value="1">Small</option>
            <option value="2">Big</option>
        </select>
    </div>
</div>

Bunu neredeyse tam css3 seçici desteğine sahip olan Prototype içinde kullanıyorum, bu yüzden tarayıcı desteği ile ilgilenmiyorum.

İlk seçici şöyle bir şey olacaktır:

div.options div select

Ben birkaç varyasyonları denedim nth-childve :not(:first-child)fakat işler yapmak için görünmüyor olabilir.

Yanıtlar:



49

Kullanırken divs yerine s seçeneğini seçmeniz gerekir çünkü every , ebeveyninin ilk (ve tek) alt öğesidir :select:not(:first-child)selectdiv

div.options > div:not(:first-child) > select

Bunun bir alternatifi , aşağıdaki gibi 2'lik bir başlangıç ​​ofseti :not(:first-child)kullanmaktır :nth-child():

div.options > div:nth-child(n + 2) > select

Diğer bir alternatif, genel kardeş birleştiricidir ~(IE7 + tarafından desteklenen):

div.options > div ~ div > select

ekstra bilgi için teşekkürler, diğer cevabı da doğru olduğu için kabul etti ve ilk geldi.
robjmills

1
Eski IE'ler hakkında endişeleriniz olması durumunda, üçüncü bir çözüm ekledim.
BoltClock

0

.options > div:nth-child(n+2) select

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.