Cara menghapus properti css di jQuery


197
if(prev_clicked)
{   
    $("#accordion li a.category").css('background-image', 'url("img/off_all_channel.png")');                    
    $("#accordion li a.comment").css('background-image', 'url("img/on_all_online.png")');                   
    $(".icha0").removeProperty("background-color");
    $(".icha0").removeProperty("opacity");
}
else
{   
   $(".icha0").css("background-color","#D5D5D2");
   $(".icha0").css("opacity","0.70");
}

Saya mencoba untuk menghapus dua properti css yang saya tambahkan tetapi tampaknya tidak berfungsi. Ada yang tahu?


1
Coba juga Google sebelum memposting di sini. Saya tidak ragu hasil pertama untuk judul persis yang Anda diposting di sini akan memberikan hasil yang dapat diterima. Saya tidak tahu dari mana Anda dapatkan .removeProperty().
Christian

1
@Christian Varga, whats funny is, sekarang dia telah memposting pertanyaan ini, ini ADALAH hasil google pertama. Hasil kedua adalah jawaban stack overflow yang benar. Ketiga adalah "removeProp ()" dan keempat adalah "removeAttr ()", keduanya salah.
Rocketsarefast

Jawaban:


369

Anda dapat menghapusnya dengan:

$(".icha0").css({ 'background-color' : '', 'opacity' : '' });

26
Agak terlambat untuk menjawab tetapi saya pikir ini penting. Anda harus ingat bahwa ini hanya akan menghapus atribut elemen yang ditentukan dalam atribut "style". Ini TIDAK akan berpengaruh apa pun jika mereka ditugaskan ke kelas atau serupa.
José Carlos

15
Jika Anda perlu menghapus set properti melalui kelas, Anda dapat mengatur ke 'inital' bukan ''
James Brierley

82

Anda dapat menggunakan .css()untuk menghapus properti css juga, seperti ini:

$(".icha0").css("background-color","");
$(".icha0").css("opacity","");

Seperti disebutkan dalam dokumentasi jquery:

Menyetel nilai properti style ke string kosong - mis. $ ('# Mydiv'). Css ('color', '') - menghapus properti itu dari elemen jika sudah diterapkan langsung,


16
Dari jqeury css: "Namun, itu tidak menghapus gaya yang telah diterapkan dengan aturan CSS dalam elemen stylesheet atau <style>"
eggmatters

36

Untuk menghapus penggunaan properti CSS sebaris:

$('.className').css({propertyName: ''});

Untuk menghapus seluruh gaya elemen sebaris gunakan:

$('.className').removeAttr('style');

Saya juga menemukan saran ini untuk menghapus properti CSS dari style (file terpisah) gunakan:

$ ('. className'). style.propertyName = '';

TETAPI saya tidak bisa membuatnya bekerja sama sekali, jadi saya meletakkannya di sini hanya FYI.


4
$ ('. className'). style.propertyName = ''; harus $ ('. className') [0] .style.propertyName = ''; - tapi itu abolutly omong kosong
Supernova

20

Anda dapat menyetel properti kembali menjadi kosong:

$(".icha0").css("background-color","");

Atau Anda dapat mengubah kode untuk menggunakan kelas yang ditentukan dalam file CSS:

$(".icha0").addClass('properties'); 
$(".icha0").removeClass('properties');

Membantu menghilangkan tepi bergerigi karena perspektif 3d bersarang. Saya merasa frustrasi mencoba untuk menghapus salah satu perspektif untuk memperbaiki masalah anti alias, posting ini menyelamatkan hari saya! Terima kasih!
Richard Yan

3

Kami memiliki dua cara, baik Anda dapat langsung menghapus kelas gaya CSS yang diterapkan yang diterapkan pada elemen DOM atau menghapus gaya CSS yang diterapkan dari elemen

//Remove the class associated with element

$('#ID').removeClass("cssClass");

//Remove the CSS style from DOM element

$('p').css({"color":""});

3
Tidak ada yang baru dalam jawaban ini, tidak ada gunanya mengulangi jawaban lain.
Shadow Wizard adalah Ear For You

3

Saya mengalami masalah ini tetapi saya belum melihat solusi apa pun di sini yang memuaskan OP. Sebagian besar solusi menyarankan menyingkirkan seluruh atribut gaya yang tidak sepadan.

Saya menggunakan metode prop jQuery .

var styleObject = $('my-selector').prop('style'); 

styleObject.removeProperty('background-color');

2

Pilihan alternatif yang kurang ideal, tetapi mungkin mengatasi berbagai masalah. Tambahkan kelas baru ke elemen dengan nilai inherit :

css

.clearCSS {
    background-color: inherit !important;
}

jquery

$(".icha0").addClass('clearCSS'); 

2

Ini benar-benar merupakan copy paste dari jawaban ini , dan saya menggunakannya untuk menghapus gaya CSS yang saya tambahkan dengan jQuery dalam fungsi yang dieksekusi sebelumnya.

Untuk menghapus penggunaan properti CSS sebaris:

$('.className').css({propertyName: ''});   

Untuk menghapus seluruh gaya elemen sebaris gunakan:

$('.className').removeAttr('style');

ATAU dengan ID:

$('#idName').removeAttr('style');

1

Untuk menghapus semua properti CSS di JQuery, kode berikut dapat digunakan:

    $(".selector").removeClass().removeAttr('style');

Terima kasih.


1

jika Anda perlu menghapus dan tidak memperbarui properti tertentu, Anda cukup menggunakan removeProp dan tidak menghapusProperty :

$(".icha0").removeProp("background-color");
$(".icha0").removeProp("opacity");
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.