2012-03-29 6 views
2

私は1つのマージン用のクラスを持っていますが、このクラスを2つの異なるdivに使用していますが、2番目のdivにマージン0を設定したいのですが、htmlを変更したいのですが、 jqueryかcssのどちらかを行う。私は子供のセレクターでそれをすることを試みたが、それは私のために働かない。あなたが与えているマークアップのための2番目のdivからマージンを削除しますか?

<style> 
.margn { margin-top:20px;} 

</style> 



<body> 
<div class="margn">hii</div> 

<div id="call" class="margn">bye</div> 

</body> 

答えて

3

を持っているのdivからmargnを削除する場合を試してみてくださいここに質問のあなたのタグごとに

次のコードを正しく入力してください。 jqueryファイルが含まれていることを忘れないでください。

$(document).ready(function() { 

$("#call").css("margin-top", "0 !important"); // or 
$("#call").css("margin-top", "0");  

}); 

EDIT: また、あなただけのCSSを使用したい場合は、以下の@sandeepで答えを参照することができます。 CSSはsepquentiallyで動作するので、CSSを適切な順序で記述してください。

.margn{margin-top:20px;} /* after this line write style for your div having id. */ 
#call {margin:0;} 
+0

私はCSSでしかできません。 – Carlos

+0

CSSルールが順番に適用されるため、 '!important'は不要ですクラスが適用された後にインラインスタイルを適用すると、インラインはクラススタイルに対して有効になりますhttp://jsfiddle.net/LhjMz/2/ – Rafay

+0

これは気付きました。 – Carlos

4

$("div:eq(1)").removeClass('margn'); 

か、クラスmargnあなたはjQueryのを使用することができます

$(".margn:eq(1)").removeClass("margn"); 

DEMO

+0

あなたはjqueryのを使用する理由、それは純粋なCSS – sandeep

+0

との仕事だ場合jqueryのタグがあったの確認質問に追加されたので、私はjqueryソリューションを提供しました – Rafay

+0

それはFrの基本ルールですontエンド開発はCSSに欲求の結果が得られない場合はCSSを使用してください。JS – sandeep

0

ちょうどあなたのスタイルシートで行うCSS

#call{ 
    margin: 0; 
} 

IDは常にクラススタイルを上書きします。

2

@amit私はあなたが答えを受け入れることを知っていますが、あなたは純粋なCSSでこれを達成することができます。このように書きます:

.margn { margin-top:20px;} 
#call{margin:0} 

チェックこのhttp://jsfiddle.net/7dCcs/2/

OR

#call.margn{margin:0} 

このhttp://jsfiddle.net/7dCcs/1/

関連する問題