JQuery css özelliği kaldırma


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");
}

Eklediğim iki css özelliklerini kaldırmaya çalışıyorum ama çalışmıyor gibi görünüyor. Yine de?


1
Ayrıca, burada göndermeden önce lütfen Google'ı deneyin. Kuşkusuz, burada yayınladığınız tam başlık için ilk sonuç kabul edilebilir bir sonuç döndürecektir. Nereden geldiğine dair hiçbir fikrim yok .removeProperty().
Christian

1
@Christian Varga, ne komik, şimdi bu soruyu gönderdiğine göre, ilk google sonucu. İkinci sonuç, başka bir doğru yığın taşması cevabıdır. Üçüncüsü "removeProp ()" ve dördüncüsü "removeAttr ()", her ikisi de yanlış.
rocketsarefast

Yanıtlar:


369

Bunları şu yollarla kaldırabilirsiniz:

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

26
Cevaplamak için biraz geç ama bence bu önemli. Bunun yalnızca "stil" özelliğinde tanımlanan öğenin niteliklerini kaldıracağını unutmayın. Bir sınıfa ya da benzerine atanmışlarsa, bu ETKİLENMEZ.
José Carlos

15
Bir sınıf aracılığıyla ayarlanan bir özelliği kaldırmanız gerekirse, '' yerine 'inital' olarak ayarlayabilirsiniz
James Brierley

82

Aşağıdaki .css()gibi css özelliğini kaldırmak için de kullanabilirsiniz :

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

Jquery belgelerinde belirtildiği gibi:

Bir style özelliğinin değerini boş bir dizeye ayarlamak - ör. $ ('# Mydiv'). Css ('color', '') - doğrudan uygulanmışsa, bu özelliği bir öğeden kaldırır,


16
Jqeury css'den: "Ancak, bir stil sayfasında veya <style> öğesinde bir CSS kuralı ile uygulanmış bir stili kaldırmaz"
eggmatters

37

Satır içi CSS özelliğini kaldırmak için şunu kullanın:

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

Bir öğenin tüm satır içi stilini kaldırmak için şunu kullanın:

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

Ayrıca stil (ayrı dosya) kullanımından CSS özelliği kaldırmak için bu öneri buldum:

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

AMA hiç işe yaramadı, bu yüzden buraya koyuyorum sadece FYI.


4
$ ('. className'). style.propertyName = ''; $ ('. className') [0] .style.propertyName = '' olmalıdır; - ama bu saçmalık saçmalık
SuperNova

20

Ya özellikleri tekrar boş olarak ayarlayabilirsiniz:

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

Veya kodu bir CSS dosyasında tanımlanan sınıfları kullanacak şekilde değiştirebilirsiniz:

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

İç içe 3d perspektifler nedeniyle tırtıklı kenarların kaldırılmasına yardımcı oldu. Anti-alias sorununu düzeltmek için perspektiflerden birini kaldırmaya çalışırken hayal kırıklığına uğradım, bu yazı günümü kurtardı! Teşekkür ederim!
Richard Yan

4

Bu sorunu yaşıyordum ama burada OP'yi tatmin edecek herhangi bir çözüm görmedim. Çözümlerin çoğu, buna değmeyen tüm stil özelliğinden kurtulmayı önerir.

JQuery'nin prop yöntemini kullandım.

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

styleObject.removeProperty('background-color');

3

DOM öğesine uygulanan uygulanmış CSS stil sınıfını doğrudan kaldırabileceğiniz veya uygulanan CSS stilini öğeden kaldırabileceğiniz iki yolumuz var

//Remove the class associated with element

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

//Remove the CSS style from DOM element

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

3
Bu cevapta yeni bir şey yok, diğer cevapları tekrarlamak anlamsız.
Gölge Sihirbazı Senin için Kulak

2

İdeal seçenekten daha az alternatif, ancak çeşitli sorunları çözebilir. Miras değerine sahip öğeye yeni bir sınıf ekleyin :

css

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

jQuery

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

2

Bu tam anlamıyla bu cevap bir kopyala yapıştır ve ben daha önce yürütülen bir işlev jQuery ile eklediğim CSS stilini temizlemek için kullanın.

Satır içi CSS özelliğini kaldırmak için şunu kullanın:

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

Bir öğenin tüm satır içi stilini kaldırmak için şunu kullanın:

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

VEYA kimliğe göre:

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

1

JQuery'deki tüm CSS özelliklerini kaldırmak için aşağıdaki kod kullanılabilir:

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

Teşekkürler.


1

belirli bir mülkü kaldırmanız ve güncellememeniz gerekiyorsa removeProp'u kullanabilir ve removeProperty'yi kullanamazsınız :

$(".icha0").removeProp("background-color");
$(".icha0").removeProp("opacity");
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.