Saya mengalami kesulitan dengan pemilih CSS khusus ini yang tidak ingin berfungsi ketika saya menambahkannya :not(:empty)
. Tampaknya berfungsi dengan baik dengan kombinasi apa pun dari penyeleksi lain:
input:not(:empty):not(:focus):invalid { border-color: #A22; box-shadow: none }
Jika saya menghapus :not(:empty)
bagian itu, itu berfungsi dengan baik. Bahkan jika saya mengubah pemilih input:not(:empty)
tetap tidak akan memilih bidang masukan yang memiliki teks yang diketik di dalamnya. Apakah ini rusak atau saya hanya tidak diizinkan untuk digunakan :empty
dalam :not()
selektor?
Satu-satunya hal lain yang dapat saya pikirkan adalah bahwa browser masih mengatakan bahwa elemen tersebut kosong karena tidak memiliki turunan, hanya sebuah "nilai" per kata. Apakah :empty
pemilih tidak memiliki fungsi terpisah untuk elemen masukan versus elemen biasa? Ini tampaknya tidak mungkin karena menggunakan :empty
di lapangan dan mengetik sesuatu ke dalamnya akan menyebabkan efek alternatif hilang (karena tidak lagi kosong).
Diuji di Firefox 8 dan Chrome.