"Eşit olmayan" bir css özellik seçicisi bulamıyorum


Yanıtlar:


175

Kodu şu şekilde kullanın:

div:not([foo=''])
{
    /* CSS Applied to divs having foo value Not nothing (or having a foo value assigned) */
}


6

Kabul edilen yanıtla ilgili bir sorun, aynı zamanda bir fooözniteliğe sahip olmayan öğeleri de seçmesidir . Düşünmek:

<div>No foo</div>
<div foo="">Empty foo</div>
<div foo="x">XXX</div>
<div foo="y">YYY</div>
<div foo="z">ZZZ</div>

div:not([foo=''])hem birinci hem de ikinci divöğeleri seçecektir . Yalnızca divfoo özniteliği boş bir dizeye ayarlanmış öğeleri istiyorsanız, şunu kullanmalısınız:

div[foo]:not([foo=''])

Özniteliği foone olan ne yde olan tüm öğeleri zistiyorsanız, şunu kullanmalısınız:

div[foo]:not([foo='y']):not([foo='z'])

1

Kullanarak ilkini seçebilirsiniz

[foo = 'x']{
  background:red;
}

VAKTİNİ BOŞA HARCAMAK

Oku bunu


50 div için foo değerinin bulunmadığı (foo = '') ve diğer 50 div'in farklı foo değerine sahip olduğu 100 div olduğunu varsayalım, örneğin foo = x veya y vb. O zaman yukarıdaki çözümü izlersek 50 seçici yazmanız gerekir
Shoaib Chikate

2
Operasyonun istediği bu değil: "Aşağıdaki div'lerden yalnızca ilkini css özellik seçiciyle hedeflemek istiyorum"
Sunil Hari

Cevabınız onun gereksinimiyle doğru, ancak diğer insanların verdiği genel bir çözüm değil.
-Shoaib Chikate

@ShoaibChikate Doğru. Daha genel bir çözüm istiyorum. Soruyu bunu yansıtacak şekilde güncelledim.
Adrian Rosca
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.