2015-01-08 15 views
19

Folgendes ist das Formular mit der ID msform, die ich anwenden möchte Attribut = "display: none" zu.So stellen Sie "style = display: none;" Verwenden Sie die Attr-Methode von jQuery?

<form id="msform" style="display:none;"> 
</form> 

Auch sollte die Prüfung vor der Zugabe der "style=display:none;" Eigenschaft durchgeführt werden. Das heißt, wenn es wie im obigen Code eingestellt ist, sollte es nicht erneut gesetzt werden.

Aber wenn es nicht eingestellt ist, dann sollte es.

Wie soll ich das erreichen? Bitte hilf mir.

+0

* Warum Sie den Stil vollständig zu entfernen? * (In Kommentar unten erwähnt). Ich müsste den Rest Ihres Codes/HTML sehen, aber das Ändern von Stilen ist normalerweise eine bessere Option als das. Wenn Sie mehr Details zur Verfügung stellen möchten, erhalten Sie möglicherweise eine nützlichere Antwort :) –

Antwort

23

Warum nicht einfach $('#msform').hide() verwenden? Hinter der Szene jQuery hide und show setzen Sie einfach display: none oder display: block.

hide() wird den Stil nicht ändern, wenn er bereits ausgeblendet ist.

basierend auf dem Kommentar unten, entfernen Sie alle Stil mit removeAttr("style"), in diesem Fall rufen Sie sofort danach hide().

z.B.

$("#msform").removeAttr("style").hide(); 

Die Rückseite ist dies natürlich show() wie in

$("#msform").show(); 

Oder noch interessanter ist, toggle(), die ein effektiver Flips zwischen hide() und show() auf dem aktuellen Stand basiert.

+0

Ich habe versucht, das zu verwenden, aber später habe ich einen Code, um Stilattribut $ ("# msform") zu entfernen. RemoveAttr ("style"); also möchte ich style = "display: none;" einstellen. Wie es geht? –

+0

Wieder ... rufen Sie einfach 'hide()' nach dem 'removeAttr (" style ")' –

+0

gibt es eine Möglichkeit, .hide() mit .before() zu verwenden, Grundsätzlich möchte ich ein verstecktes Element hinzufügen - http://jsfiddle.net/95jeL9xc/2/ –

1

Sie können einfach verwenden: $("#msform").hide(). Dadurch wird das Element zu display: none

16

Außer hide() in anderen Antworten erwähnt, können Sie css() verwenden:

$("#msform").css("display","none") 
+3

Die Verwendung von 21 Zeichen anstelle der 6 von "Verbergen()" wäre mein einziger Einwand (dies ist für eine Webseite immerhin) :) –

+0

Ja, ich verstehe, dass Sie ' Ich versuche, eine Alternative zu bieten, aber wenn Sie zu einer viel einfacheren Antwort geschlagen werden, keinen wirklichen Grund zu den meisten ein viel längeres. – jmore009

1

Sie die hide und show Funktionen von jQuery verwenden können. Examples

In Ihrem Fall setzt nur $('#msform').hide() oder $('#msform').show()

+0

Die einzige Antwort zu erwähnen "show()", danke! – VinGarcia

5
$(document).ready(function(){ 
var display = $("#msform").css("display"); 
    if(display!="none") 
    { 
     $("#msform").attr("style", "display:none"); 
    } 
}); 
+2

Bitte fügen Sie eine Erklärung zu Ihrer Antwort hinzu. –

Verwandte Themen