Jika saya menetapkan nilai CSS pada elemen tertentu menggunakan:
$('#element').css('background-color', '#ccc');
Saya ingin dapat menghapus nilai khusus elemen tersebut dan menggunakan nilai berjenjang, di sepanjang baris:
$('#element').css('background-color', null);
Tetapi sintaks itu sepertinya tidak berfungsi - apakah ini mungkin menggunakan sintaks lain?
Edit: Nilai tidak diwarisi dari elemen induk - nilai asli berasal dari pemilih tingkat elemen. Maaf atas kebingungan apa pun!
style
atribut pada tag, jadi metode ini tidak berfungsi. Menerapkan gaya dengan.css()
metode alih-alih di tag memungkinkan saya untuk menghapusnya nanti.Saya rasa Anda juga bisa melakukan:
Itulah yang biasa saya lakukan sejak lama untuk
display
properti di javascript biasa-lama untuk menampilkan / menyembunyikan bidang.sumber
Sebenarnya, sintaks yang saya pikir salah (dengan
null
) tampaknya berfungsi - pemilih saya hanya dibentuk dengan tidak benar, dan karenanya tidak menghasilkan elemen. D'oh!sumber
css(..., null)
tidak berfungsi dancss(..., '')
harus digunakan sebagai gantinya - bugs.jquery.com/ticket/7233Coba ini:
sumber
Untuk apa nilainya ini tampaknya tidak berfungsi di IE 8 untuk 'filter', saya harus menggunakan ini (dalam panggilan balik fadeIn):
$(this).attr('style', $(this).attr('style').replace(/\bfilter:\s*;*/, ''));
Jelas, saya harus menghapus deklarasi filter sebaris yang kosong sehingga CSS dapat diterapkan; ada aturan sebaris lainnya jadi saya tidak bisa begitu saja menghapus atribut gaya.
sumber
Jika bisa membantu, saya menambahkan masalah dengan kutipan ganda:
tidak bekerja saat
bekerja
sumber