Im folgenden Code habe ich einen Änderungshandler in einem Auswahlfeld eingerichtet, um einige Folgefragen basierend auf dem Wert der Auswahl anzuzeigen und auszublenden.
Außerdem wird für einige Werte der Auswahl eine zusätzliche Meldung angezeigt.
Um zu überprüfen, ob ich die zusätzliche Nachricht ausblenden muss, behalte ich eine Variable namens "Zurück". Bei der Ausführung des Handlers überprüfe ich, ob Previous null ist oder ob die Größe 0 ist.
Es wäre schön, Previous auf ein leeres JQuery-Objekt zu initialisieren, um nicht die zusätzliche Prüfung auf null durchführen zu müssen.
Wenn Sie ein $ () ausführen, wird ein Objekt mit der Größe 1 zurückgegeben.
Gibt es eine Möglichkeit, ein leeres Jquery-Objekt zu erstellen?
// Init Funktion. $ (function () { // Halten Sie das zuvor ausgewählte Objekt für die Kontotypauswahl. var Zurück = null; // Hier möchte ich initialisieren. // so etwas wie Previous = $ (); $ ("SELECT [name = 'AccountType']"). Change ( function () { // Vorherige Nachricht ausblenden, falls vorhanden. if (Previous == null || Previous.size ()> 0) { Previous.hide (); }} // Zeige die Nachricht, wenn sie gefunden wurde und speichere sie wie zuvor. Zurück = $ ("#" + this.value + "_ Msg"). Show (); // Erste Frage bekommen var FirstQuestion = $ (". FirstQuestion"); if (this.value === '') { FirstQuestion.hide (); }sonst{ // FirstQuestion manuell anzeigen. FirstQuestion.show (); }} }); }}
Im schlimmsten Fall könnte ich so etwas machen:
var Zurück = {Größe: Funktion () {Rückgabe 0; }};
aber das scheint übertrieben.
Quelle: api.jquery.com
quelle
Mein Rat ist, es nicht so zu machen. Es gibt viel einfachere Möglichkeiten, dies zu tun. Erwägen:
Viel einfacher. Geben Sie grundsätzlich Klassen an, um anzugeben, was angezeigt und ausgeblendet werden soll, und dann ist keine Nachverfolgung erforderlich. Eine Alternative ist:
quelle
Versuche dies
Ich bin kein guter Programmierer, aber es gibt dir ein leeres Objekt :))
quelle