it-swarm.com.de

Wie kann ich die CSS-Anzeige mit Jquery ändern oder blockieren?

Wie kann ich die CSS-Anzeige mit Jquery ändern oder blockieren?

358
learner

Der richtige Weg ist, show und hide zu verwenden:

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

Alternativ können Sie die Methode jQuery css verwenden:

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

Es gibt mehrere Möglichkeiten, dies zu erreichen, jede mit ihrem eigenen Zweck.


1.) Um Inline zu verwenden, während Sie einem Element einfach eine Liste mit Aufgaben zuweisen

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

2.) Zur Verwendung beim Festlegen mehrerer CSS-Eigenschaften

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

3.) Um dynamisch auf Befehl aufzurufen

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

4.) Um dynamisch zwischen Block und keinem umzuschalten, wenn es sich um ein div handelt 

  • einige Elemente werden als Inline-, Inline-Block oder Tabelle angezeigt, abhängig von Tag Name

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

98
SpYk3HH

Wenn die Anzeige des div standardmäßig blockiert ist, können Sie einfach .show() und .hide() oder noch einfacher .toggle() verwenden, um zwischen der Sichtbarkeit umzuschalten.

27
reko_t

Einfacher Weg:

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

)}
5
user3726824

für verstecken:

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

zur Show:

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

Eine andere Möglichkeit, dies mit der jQuery-CSS-Methode zu tun:

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

Wenn Sie ein Element ein- oder ausblenden möchten, je nachdem, ob es bereits sichtbar ist oder nicht, können Sie stattdessen togle verwenden:

$ ('elem'). Toggle ();

1
Peter verleg
(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);
1
Pham

In meinem Fall habe ich Elemente eines Formulars ein-/ausblenden, je nachdem, ob ein Eingabeelement leer war oder nicht, sodass beim Ausblenden der Elemente das den verborgenen Elementen folgende Element neu positioniert wurde und seinen Platz einnahm, musste ein Float ausgeführt werden: left des Elements eines solchen Elements. Sogar die Verwendung eines Plugins als abhängig. Es war notwendig, Float zu verwenden.

0
user2341112

.hide () funktioniert in Chrome für mich nicht Dies funktioniert beim Hidding:

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

benutze das 

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

oder 

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