2016-11-17 10 views
1

Jqueryを既存のクラスに動的に追加したいが、ユーザーがボタンをクリックするまでHTMLエレメントに帰属させない。既存のクラスにJqueryを使用して動的に追加する

私が試した:How to add property to existing classで提案されているように

$('.show-toggle').css("max-height", width * 0.5); 

をしかし、クラスが最初にアクティブになっていないので、私はそれが動作しないと思います。

HTML

<div id ="toggler"></div> 
<div id = "toogle" class="hide-toggle"> 

CSS(jQueryを使って)

.hide-toggle { 
display:none 
} 

.show-toggle { 
display : block; 
} 

JS

$('#toggler').click(function() { 

var width = $(window).width(); 
$('.show-toggle').css("max-height", width * 0.5); 
$("#toggle").toggleClass('hide-toggle').toggleClass('show-toggle'); 

}); 
+0

あなたはクラス 'ショーhtml要素を持っていません「トグル」。 –

+1

あなたは 'Show-toggle'クラスに' .'を追加することを忘れています。両方のクラスは 'Show-toggle'と' show-toggle'と異なります –

+0

ありがとう。編集しましたが、これは私のコードではなく、そのタイプインです。 – Geniom

答えて

0

(.cssファイルを入れて).toggleClass(後):

$(document).ready(function(){ 
    $("#toggler").click(function(){ 
    var width = $(window).width(); 
    $("#toggle").toggleClass("hide-toggle, show-toggle"); 
    $(".show-toggle").css("max-height", width*0.5); 
    }); 
}); 

#toggleに.show-toggleのクラスがあると、CSSの変更を実行できるようになります。クラス.SHOW-トグルを持つ要素がないときjQueryのクラス.SHOWトグル上の.css()を実行することはできませんので

フィドル:https://jsfiddle.net/p15rcmn4/4/

関連する問題