Satu masalah dengan jawaban yang diterima adalah bahwa jawaban tersebut juga akan memilih elemen yang tidak memiliki fooatribut sama sekali. Mempertimbangkan:
div:not([foo=''])akan memilih elemen pertama dan kedua div. Jika Anda hanya menginginkan divelemen yang memiliki atribut foo yang disetel ke string kosong, Anda harus menggunakan:
div[foo]:not([foo=''])
Jika Anda menginginkan semua elemen dengan atribut fooyang bukan ynor z, Anda harus menggunakan:
Misalkan ada 100 div yang nilai foo tidak ada (foo = '') untuk 50 div dan 50 div lainnya memiliki nilai foo berbeda katakanlah foo = x atau y dll maka Anda perlu menulis 50 selektor jika kita mengikuti solusi di atas
Shoaib Chikate
2
Itu bukan keinginan operasi: "Saya ingin menargetkan hanya div pertama berikut dengan pemilih atribut css"
Sunil Hari
Jawaban Anda benar dengan persyaratannya tetapi bukan solusi umum yang telah diberikan orang lain.
Shoaib Chikate
@ShoaibChikate Anda benar. Saya ingin solusi yang lebih umum. Saya memperbarui pertanyaan untuk mencerminkan itu.
Jawaban:
Gunakan kode seperti ini:
sumber
http://jsfiddle.net/gsLvuys0/
sumber
Satu masalah dengan jawaban yang diterima adalah bahwa jawaban tersebut juga akan memilih elemen yang tidak memiliki
foo
atribut sama sekali. Mempertimbangkan:div:not([foo=''])
akan memilih elemen pertama dan keduadiv
. Jika Anda hanya menginginkandiv
elemen yang memiliki atribut foo yang disetel ke string kosong, Anda harus menggunakan:Jika Anda menginginkan semua elemen dengan atribut
foo
yang bukany
norz
, Anda harus menggunakan:sumber
Anda dapat memilih yang pertama menggunakan
BIOLA
Baca ini
sumber