jQueryを使用してCSS表示を変更したり、プロパティをブロックしたりするにはどうすればよいですか?


429

jQueryを使用してCSS表示を変更したり、プロパティをブロックしたりするにはどうすればよいですか?

回答:


923

これを行う正しい方法は、showおよびを使用することhideです。

$('#id').hide();
$('#id').show();

別の方法は、jQuery cssメソッドを使用することです。

$("#id").css("display", "none");
$("#id").css("display", "block");

@GenericTypeTea:#ididsに使用されますclassか?
AabinGunz

26
$(".class").css("display", "none");
djdd87

8
を使ってみました$('#id').css('display', 'none');がうまくいきませんでした。ただし、使用$('#id').css('color', 'red');は機能します。理由はわかりませんが。誰かアイデアはありますか?前もって感謝します。
David

5
この回答に$( '#id')。hide()と$( "#id")。css( "display"、 "none")の違いを含めることも価値があります。
ManirajSS 2014

1
2つの違いがあります。前者の関数はテキストのみを非表示にし、要素が占めるスペースを解放しませんが、後者はコンテンツを非表示にし、懸念要素が占めるスペースを解放します
Dila Gurung

110

これを行うにはいくつかの方法があり、それぞれ独自の目的があります。


1。)要素に実行することのリストを割り当てるだけでインラインで使用するには

$('#ele_id').css('display', 'block').animate(....
$('#ele_id').css('display', 'none').animate(....

2。)複数のCSSプロパティを設定するときに使用するには

$('#ele_id').css({
    display: 'none'
    height: 100px,
    width: 100px
});
$('#ele_id').css({
    display: 'block'
    height: 100px,
    width: 100px
});

3。)コマンドで動的に呼び出すには

$('#ele_id').show();
$('#ele_id').hide();

4。)divの場合、ブロックとなしを動的に切り替える

  • Ta g N ameに応じて、一部の要素がインライン、インラインブロック、またはテーブルとして表示されます

$( '#ele_id')。toggle();


27

divの表示がデフォルトでブロックされている場合は、.show()andを使用する.hide()か、さらに単純に、表示.toggle()を切り替えることができます。


確かに、それは表示を最初のものに設定します。
danielgwood '27


6

jQuery CSSメソッドを使用してそれを行う他の方法:

$("#id").css({display: "none"});
$("#id").css({display: "block"});


2
(function($){
    $.fn.displayChange = function(fn){
        $this = $(this);
        var state = {};
        state.old = $this.css('display');
        var intervalID = setInterval(function(){
            if( $this.css('display') != state.old ){
                state.change = $this.css('display');
                fn(state);
                state.old = $this.css('display');
            }
        }, 100);        
    }

    $(function(){
        var tag = $('#content');
        tag.displayChange(function(obj){
            console.log(obj);
        });  
    })   
})(jQuery);

説明が正しいでしょう。
Peter Mortensen

2

要素がすでに表示されているかどうかに応じて、要素を非表示および表示する場合は、.hide()andの代わりにtoggleを使用できます。.show()

$('elem').toggle();

1

.hide()はChromeでは機能しません。

これは非表示に機能します:

var pctDOM = jQuery("#vr-preview-progress-content")[0];
pctDOM.hidden = true;

0

私の場合、入力要素が空であるかどうかに応じてフォームの要素の表示/非表示を行っていたため、要素を非表示にすると、非表示の要素に続く要素がそのスペースを占めて再配置され、フロートを実行する必要がありました:leftそのような要素の要素の。プラグインをdependsOnとして使用する場合でも、floatを使用する必要がありました。


0

これを使って:

$("#id").(":display").val("block");

または:

$("#id").(":display").val("none");

私は、その私のために働いていないという問題がある。:(<style> #choosepath { display: none; } </style> <script> $(document).ready(function () { $('#btn_journey').click(function () { alert("button click"); $('#choosepath').css({"display":"normal"}); }); }); </script> </head> <body> <a href="#" class="btn btn-primary btn-lg" id="btn_journey">Start your journey</a> <div class="col-lg-3 col-md-6 mb-4" id="choosepath"> </div> </body></html>
jaibalaji

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