Lebih
Bagaimana saya bisa menghapus style yang ditambahkan dengan .css() function?
I'm mengubah CSS dengan jQuery dan saya ingin menghapus styling I'm menambahkan, berdasarkan masukan nilai:
if(color != '000000') $("body").css("background-color", color); else // remove style ?
Bagaimana saya bisa melakukan ini? Perhatikan bahwa garis di atas berjalan setiap kali warna ini dipilih menggunakan color picker (ie. ketika mouse bergerak di atas roda warna).
2 catatan: saya dapat't melakukan hal ini dengan css("background-color", "none")
karena hal ini akan menghapus default styling dari file css. Aku hanya ingin menghapus background-color
inline style ditambahkan oleh jQuery.
838
18
Mengubah properti untuk string kosong muncul untuk melakukan pekerjaan:
Jawaban yang diterima karya-karya, tapi daun yang kosong
gaya
atribut pada DOM di tes saya. Bukan masalah besar, tapi ini menghilangkan itu semua:Ini mengasumsikan anda ingin menghapus semua styling dinamis dan kembali ke stylesheet styling.
Ada beberapa cara untuk menghapus CSS properti menggunakan jQuery:
1. Pengaturan CSS properti untuk default (awal) nilai
Lihat nilai awal untuk CSS properti di MDN. Di sini nilai default adalah
transparan
. Anda juga dapat menggunakanmewarisi
untuk beberapa properti CSS untuk inherite atribut dari induknya. Dalam CSS3/CSS4, anda juga dapat menggunakanawal
,kembali
atauhapus
tapi kata kunci ini mungkin memiliki keterbatasan dukungan browser.2. Menghapus CSS properti
String kosong menghilangkan CSS properti, yaitu
Tapi hati-hati, seperti yang ditentukan dalam jQuery .css() dokumentasi, hal ini menghilangkan properti tetapi memiliki masalah kompatibilitas dengan IE8 tertentu CSS shorthand properti, termasuk latar belakang.
3. Menghapus seluruh gaya elemen
Saya punya cara untuk menghapus atribut style dengan JavaScript murni hanya untuk membiarkan anda tahu cara yang murni JavaScript
Ini akan menghapus tag lengkap :
salah satu dari fungsi jQuery harus bekerja:
Hanya menggunakan:
atau
Bagaimana tentang sesuatu seperti:
Coba ini:
Terima kasih
Menggunakan Plugin :
Untuk kasus anda ,Menggunakannya sebagai berikut :
atau
jika anda ingin menghapus juga CSS didefinisikan dalam kelas-kelas :
Jika anda menggunakan gaya CSS, anda dapat menggunakan:
dan kemudian ganti dengan:
Jika anda don't menggunakan gaya CSS dan anda memiliki atribut dalam elemen HTML, anda dapat menggunakan:
Dua ribu delapan belas
ada API asli untuk yang
Mengapa tidak membuat gaya yang anda inginkan untuk menghapus kelas CSS? Sekarang anda dapat menggunakan:
.removeClass()
. Ini juga membuka kemungkinan menggunakan:.toggleClass()
(menghapus kelas jika itu's hadir, dan menambahkan jika itu's tidak.)
Menambahkan / menghapus kelas juga kurang membingungkan untuk mengubah / memecahkan masalah ketika berhadapan dengan masalah tata letak (sebagai lawan untuk mencoba untuk mencari tahu mengapa gaya tertentu menghilang.)
Yang satu ini juga kerja!!
Coba Ini
Ini lebih kompleks dari beberapa solusi lain, tapi mungkin menawarkan lebih banyak fleksibilitas dalam skenario:
Contoh penggunaan: http://jsfiddle.net/qvkwhtow/
Peringatan:
Mengisolasi styling cara ini adalah apa yang CSS adalah semua tentang, bahkan jika memanipulasi isn't. Memanipulasi aturan CSS TIDAK apa jQuery adalah semua tentang, jQuery memanipulasi elemen DOM, dan menggunakan CSS untuk melakukan itu.
Sederhana murah di pengembangan web. Saya sarankan menggunakan string kosong ketika menghapus sebuah gaya tertentu