Rumah  >  Artikel  >  hujung hadapan web  >  Mengapakah `input:not(:empty)` Sentiasa Mengembalikan Tiada Hasil?

Mengapakah `input:not(:empty)` Sentiasa Mengembalikan Tiada Hasil?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-05 07:27:02452semak imbas

Why Does `input:not(:empty)` Always Return No Results?

Memahami Pemilih CSS :not(:empty)

Pemilih CSS :empty direka untuk memadankan elemen yang tidak mengandungi unsur anak. Walau bagaimanapun, apabila digunakan dalam kombinasi dengan pemilih :not(), ia boleh membawa kepada tingkah laku yang tidak dijangka.

Kes Elemen Input

HTML elemen dianggap sebagai "elemen kosong", bermakna ia tidak mempunyai sebarang anak. Oleh itu, ia akan sentiasa memenuhi pemilih :empty, tidak kira sama ada ia mengandungi sebarang nilai teks atau tidak.

Apabila menggunakan input:not(:empty), anda pada asasnya meminta elemen yang kosong dan bukan kosong. Ini adalah percanggahan, itulah sebabnya pemilih tidak pernah mengembalikan sebarang hasil.

Implikasi untuk Penggayaan CSS

Tingkah laku ini mempunyai implikasi untuk penggayaan CSS. Anda tidak boleh menggunakan input:not(:empty) untuk menggayakan medan input secara dinamik berdasarkan sama ada ia kosong atau tidak.

Penyelesaian Alternatif

Untuk menggayakan input kosong pada mulanya medan, anda boleh menggunakan pemilih seperti input[value=""] atau input:not([value]). Walau bagaimanapun, sebaik sahaja pengguna memasukkan teks ke dalam medan, ia tidak lagi sepadan dengan pemilih ini.

Atas ialah kandungan terperinci Mengapakah `input:not(:empty)` Sentiasa Mengembalikan Tiada Hasil?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn