Come posso modificare la visualizzazione di nessuno CSS o bloccare la proprietà usando jQuery?


429

Come posso modificare la visualizzazione di nessuno CSS o bloccare la proprietà usando jQuery?

Risposte:


923

Il modo corretto per farlo è usare showe hide:

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

Un modo alternativo è quello di utilizzare il metodo CSS jQuery :

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

@GenericTypeTea: #idusato per gli id ​​che dire se voglio usare class?
AabinGunz

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

8
Ho provato a usare $('#id').css('display', 'none');, ma non ha funzionato. Tuttavia, l'utilizzo $('#id').css('color', 'red');funziona. Non sono sicuro del perché, però. Qualcuno ha qualche idea? Grazie in anticipo.
David,

5
Vale anche la pena includere la differenza tra $ ('# id'). Hide () e $ ("# id"). Css ("display", "none") in questa risposta.
ManirajSS,

1
C'è una differenza tra due, in cui la prima funzione nasconde solo il testo e non libera uno spazio occupato da un elemento mentre quest'ultima nasconde il contenuto e libera lo spazio occupato dall'elemento cocern
Dila Gurung

110

Esistono diversi modi per raggiungere questo obiettivo, ognuno con il suo scopo previsto.


1. ) Usare in linea semplicemente assegnando a un elemento un elenco di cose da fare

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

2. ) Da utilizzare durante l'impostazione di più proprietà CSS

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

3. ) Chiamare dinamicamente a comando

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

4 ) Per alternare dinamicamente tra blocco e nessuno, se è un div

  • alcuni elementi vengono visualizzati come inline, inline-block o table, a seconda della Ta g N ome

$ ( '# Ele_id') a ginocchiera ().;


27

Se la visualizzazione del div è bloccata per impostazione predefinita, puoi semplicemente usare .show()e .hide(), o anche più semplice, .toggle()alternare tra visibilità.


È vero, imposterà la visualizzazione su qualunque cosa fosse inizialmente, che potrebbe essere un blocco o qualcosa di diverso.
danielgwood,


6

Altro modo per farlo utilizzando il metodo CSS jQuery:

$("#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);

Una spiegazione sarebbe in ordine.
Peter Mortensen,

2

Nel caso in cui desideri nascondere e mostrare un elemento, a seconda che sia già visibile o meno, puoi usare toggle invece di .hide()e.show()

$('elem').toggle();

1

.hide () non funziona in Chrome per me.

Questo funziona per nascondere:

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

0

Nel mio caso stavo facendo mostrare / nascondere elementi di una forma in base al fatto che un elemento di input fosse vuoto o meno, in modo che quando si nascondevano gli elementi che seguivano quelli nascosti si riposizionava occupando il suo spazio era necessario fare un float: left dell'elemento di tale elemento. Anche usando un plugin come dipende da On era necessario usare float.


0

Usa questo:

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

O:

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

ho un problema che non funziona per me :(.<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,

0

Uso:

$(#id/.class).show()
$(#id/.class).hide()

Questo è il modo migliore.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.