Was mache ich besser? .hide()
ist schneller als das Ausschreiben .css("display", "none")
, aber was ist der Unterschied und was machen beide tatsächlich mit dem HTML-Element?
153
Von der jQuery-Seite über .hide () :
"Die übereinstimmenden Elemente werden sofort ohne Animation ausgeblendet. Dies entspricht in etwa dem Aufruf von .css ('display', 'none'), außer dass der Wert der Anzeigeeigenschaft im Datencache von jQuery gespeichert wird, damit die Anzeige später erfolgen kann wird auf seinen ursprünglichen Wert zurückgesetzt. Wenn ein Element den Anzeigewert Inline hat, dann ausgeblendet und angezeigt wird, wird es erneut inline angezeigt. "
Wenn es also wichtig ist, dass Sie zum vorherigen Wert von zurückkehren können display
, sollten Sie ihn verwenden, hide()
da auf diese Weise der vorherige Status gespeichert wird. Ansonsten gibt es keinen Unterschied.
.hide()
speichert die vorherigedisplay
Eigenschaft kurz vor dem Festlegen.none
Wenn dies also nicht die Standardeigenschaftdisplay
für das Element ist, für das Sie etwas sicherer sind,.show()
wird diese gespeicherte Eigenschaft als Ausgangspunkt verwendet. Also ... es macht einige zusätzliche Arbeit, aber wenn Sie nicht Tonnen von Elementen ausführen, sollte der Geschwindigkeitsunterschied vernachlässigbar sein.quelle
Wenn Sie sich den jQuery-Code ansehen, geschieht Folgendes:
quelle
Sie sind das gleiche.
.hide()
Ruft eine jQuery-Funktion auf und ermöglicht das Hinzufügen einer Rückruffunktion. So.hide()
können Sie beispielsweise eine Animation hinzufügen..css("display","none")
ändert das Attribut des Elements indisplay:none
. Es ist dasselbe, als ob Sie in JavaScript Folgendes tun:Die
.hide()
Funktion benötigt offensichtlich mehr Zeit zum Ausführen, da sie nach Rückruffunktionen, Geschwindigkeit usw. sucht.quelle
Beides zu benutzen ist eine schöne Antwort; es ist keine Frage von entweder oder.
Der Vorteil von beiden ist, dass das CSS das Element sofort ausblendet beim Laden der Seite . Die jQuery .hide blinkt das Element für eine Viertelsekunde und blendet es dann aus.
In dem Fall, in dem das Element beim Laden der Seite nicht angezeigt werden soll, können wir CSS verwenden und die Anzeige festlegen: none & verwenden Sie die jQuery .hide (). Wenn wir das Element umschalten möchten, können wir jQuery umschalten.
quelle
Beide machen das gleiche in allen Browsern, AFAIK. Bei Chrome und Firefox aktiviert, werden beide
display:none
an dasstyle
Attribut des Elements angehängt .quelle
Es gibt keinen Unterschied, wenn Sie die grundlegende Methode zum Ausblenden verwenden. Jquery bietet jedoch verschiedene Versteckmethoden, die dem Element Effekte verleihen. Eine ausführliche Erklärung finden Sie unter dem folgenden Link: Effekte für Hide in Jquery
quelle