2017-05-19 7 views
0

CSSスタイルシートで適用されたCSSプロパティを削除する方法はありますか?スタイルシートで適用されたCSSプロパティを削除します

例:

jsFiddle

test.css

.test { background: red; } 

test.htmlという

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<link rel="stylesheet" href="test.css"> 

<div class="test">Foo</div> 

<script> 
$('.test').each(function(i, block) { 
    $(this).css('background', ''); 
}); 
</script> 

はい、それはCSS-プロペを削除しますRTYそれが追加された場合は、インライン:

Before          After 
<div class="test" style="background: red"> <div class="test"> 

しかし、問題は、スタイルシートベースのプロパティではなく、インラインでの削除についてです。

はまた、私は「透明」使用することができ、それが動作することを理解する:

$(this).css('background', 'transparent'); 

しかし、再び、これは少し私の質問の範囲外です。あなたは、スタイルシートの値を変更することはできません

+4

要素のクラステストを削除 – guradio

+2

CSSプロパティを削除することはできません。手動で設定しなくても、*常に*何かに設定されています。値を赤以外の値に設定する必要があります。デフォルト値は 'transparent'です。 「範囲外」とみなした解決策は、スタイルシートのルールを直接削除する以外に、これを行う唯一の方法です –

+0

クラスを削除せずに行いたいですか(クラスが複雑な場合あなたが削除したくない他のプロパティを持っていますか?) – nnnnnn

答えて

0

あなたはあなたの例では

$(this).css('background', 'transparent'); 

または所望の特性を持つあなたのスタイルシートに別のクラスを持っているとJSでクラスを置き換えをしたとして、あなたはそれを上書きすることができます

$(this).removeClass('test'); 
$(this).addClass('your-other-class'); 
0

ウェブサイトの実行中にCSSファイルを変更しないでください。

小さなトリックは、あなたが以前にカスタマイズした別のCSSファイルと現在アクティブなCSSファイルをSUBSTITUTEにすることができます。

あなたは(あなたがjQueryのを使用しなければならない)、このようにそれを行うことができます

$('link[href="yourfirstfile.css"]').attr('href','yoursecondfile.css'); 

またはあなたはそれが

0

あなたはスタイルを削除することはできません必要なときには、単にあなたの最初のものに置き換えます第二のクラスを準備することができますhtml要素からクラスを削除することなくjavascriptを使用してDOMを操作するか、またはHTMLを更新することによってのみ行うことができます。

しかし、の後に新しいCSSファイルをインポートして、スタイルを上書きすることができます。

OR

JavaScriptを使用せずにCSSからのスタイルを上書きする後のCSSインポートをHTML でスタイル要素を追加します。 HTMLソースにインラインスタイル要素を追加したり、Javascriptを使用することにより

OR