2010-08-27 11 views

risposta

652

Il modo corretto per farlo è usare show e hide:

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

Un metodo alternativo è quello di utilizzare il metodo jQuery css:

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

@GenericTypeTea: '# id' usato per ids e se volessi usare' class'? – abi1964

+18

'$ (". Class "). Css (" display "," none ");' – GenericTypeTea

+6

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

25

Se la visualizzazione del div è blocco per impostazione predefinita, è possibile utilizzare solo .show() e .hide() o anche più semplice, .toggle() per passare dalla visibilità.

+0

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

3

Altro modo per farlo utilizzando il metodo jQuery CSS:

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

Ci sono diversi modi per ottenere questo risultato, ciascuna con il proprio scopo.


.) Per utilizzare linea mentre semplicemente assegnando un elemento di una lista di cose da fare

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

.) Per utilizzare durante l'impostazione più proprietà CSS

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

.) Per chiamare in modo dinamico a comando

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

.) Per passare dinamicamente tra il blocco e nessuno, se si tratta di un div

  • alcuni gli elementi vengono visualizzati come inline, inline-block o table, a seconda dello Tag Name

$ ('# ele_id').alternare();

0

uso questo

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

o

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

ho problema non il suo lavoro per me :( ' Start your journey

' – jaibalaji

1
(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); 
5

modo semplice:

function displayChange(){ 
$(content_id).click(function(){ 
    $(elem_id).toggle();} 

)} 
5

per nascondere:

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

per l'esposizione:

$("#id").css("display", ""); 
+0

http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_css_name_value –

0

.nascosto() non funziona in Chrome per me Questo funziona per Hidding:

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

Nel caso in cui si desidera nascondere e mostrare un elemento a seconda se è già visibile o meno, puoi invece utilizzare alternativamente: of .hide() e .show()

$ ('elem'). toggle();

Problemi correlati