jQueryでcssプロパティを削除する方法


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

追加した2つのcssプロパティを削除しようとしていますが、機能していないようです。でも?


1
また、こちらに投稿する前に、Googleをお試しください。あなたがここに投稿した正確なタイトルの最初の結果が許容できる結果を返すことは間違いありません。どこ.removeProperty()から来たのかわかりません。
クリスチャン

1
@Christian Varga、おもしろいのは、彼がこの質問を投稿したことです。これが最初のGoogleの結果です。2番目の結果は、別の正しいスタックオーバーフローの答えです。3つ目は「removeProp()」、4つ目は「removeAttr()」です。どちらも間違っています。
rocketsarefast

回答:


369

次の方法で削除できます。

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

26
回答するには遅すぎますが、これは重要だと思います。これにより、「style」属性で定義された要素の属性のみが削除されることに注意してください。クラスなどに割り当てられている場合は、効果がありません。
ホセカルロス

15
クラスを介してプロパティセットを削除する必要がある場合は、 ''の代わりに 'initial'に設定できます
James Brierley

82

を使用.css()して、次のようにcssプロパティを削除することもできます。

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

jqueryドキュメントで述べたように:

スタイルプロパティの値を空の文字列($( '#mydiv')。css( 'color'、 '')など)に設定すると、既に直接適用されている場合は、そのプロパティが要素から削除されます。


16
jqeury cssから:「ただし、スタイルシートまたは<style>要素のCSSルールで適用されたスタイルは削除されません」
eggmatters '28 / 01/15

36

インラインCSSプロパティを削除するには、以下を使用します。

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

要素のインラインスタイル全体を削除するには:

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

また、スタイル(個別のファイル)からCSSプロパティを削除するためのこの提案を見つけました。

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

しかし、まったく機能させることができなかったので、参考までにここに置いておきます。


4
$( '。className')。style.propertyName = ''; $( '。className')[0] .style.propertyName = ''でなければなりません; -しかし、それは完全にナンセンスです
SuperNova

20

プロパティを空白に戻すこともできます。

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

または、CSSファイルで定義されたクラスを使用するようにコードを変更できます。

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

ネストされた3Dパースペクティブによるギザギザのエッジの削除を支援しました。アンチエイリアスの問題を修正するために、パースペクティブの1つを削除しようとしていらいらしていました。この投稿は私の一日を救いました!ありがとうございました!
Richard Yan

3

DOM要素に適用されている適用済みのCSSスタイルクラスを直接削除する方法と、要素から適用済みのCSSスタイルを削除する方法の2つがあります。

//Remove the class associated with element

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

//Remove the CSS style from DOM element

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

3
この回答には新しいものは何もありません。他の回答を繰り返すことは無意味です。
Shadow WizardはEar For You

3

私はこの問題を抱えていましたが、OPを満足させる解決策はここでは見ていません。ほとんどのソリューションは、価値のないスタイル属性全体を取り除くことを提案しています。

jQueryのpropメソッドを使用しました。

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

styleObject.removeProperty('background-color');

2

代替の理想的なオプションではありませんが、さまざまな問題を回避できます。値inheritを持つ要素に新しいクラスを追加します。

CSS

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

jquery

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

2

これは文字通り、この回答のコピーペーストです。以前に実行した関数でjQueryを使用して追加したCSSスタイルをクリアするために使用しています。

インラインCSSプロパティを削除するには、以下を使用します。

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

要素のインラインスタイル全体を削除するには:

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

またはIDで:

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

1

JQueryのすべてのCSSプロパティを削除するには、次のコードを使用できます。

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

ありがとう。


1

特定のプロパティを削除して更新する必要がない場合は、removePropertyではなくremovePropを使用できます 。

$(".icha0").removeProp("background-color");
$(".icha0").removeProp("opacity");
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.