Dans le code suivant, j'ai configuré un gestionnaire de modifications sur une zone de sélection pour afficher et masquer certaines questions de suivi en fonction de la valeur de la sélection.
En outre, pour certaines valeurs de la sélection, un message supplémentaire s'affiche.
Afin de vérifier si j'ai besoin de masquer le message supplémentaire, je garde une variable appelée Précédent. Lors de l'exécution du gestionnaire, je vérifie si Précédent est nul ou si la taille est 0.
Ce serait bien d'initialiser Previous sur un objet JQuery vide afin de ne pas avoir à faire la vérification supplémentaire de null.
Faire un $ () retourne un objet de la taille 1.
Existe-t-il un moyen de créer un objet Jquery vide?
// Fonction d'initialisation. $ (fonction () { // Contient l'objet précédemment sélectionné pour la sélection du type de compte. var Précédent = null; // Voici où je voudrais initialiser. // quelque chose comme Précédent = $ (); $ ("SELECT [name = 'AccountType']"). Change ( fonction () { // Cacher le message précédent s'il y en avait un. if (Précédent == null || Précédent.size ()> 0) { Précédent.hide (); } // Affiche le message s'il est trouvé et enregistre-le comme précédent. Précédent = $ ("#" + this.value + "_ Msg"). Show (); // Obtenir la première question var FirstQuestion = $ (". FirstQuestion"); if (this.value === '') { FirstQuestion.hide (); }autre{ // Afficher manuellement FirstQuestion. FirstQuestion.show (); } }); }
Dans le pire des cas, je pourrais faire quelque chose comme ceci:
var Précédent = {taille: function () {return 0; }};
mais cela semble exagéré.
Source: api.jquery.com
la source
Mon conseil est de ne pas le faire de cette façon. Il existe des moyens beaucoup plus simples de le faire. Considérer:
Beaucoup plus facile. En gros, donnez des classes pour indiquer ce qu'il faut afficher et masquer, puis aucun suivi n'est requis. Une alternative est:
la source
essaye ça
Je ne suis pas un bon programmeur mais ça vous donne un objet vide :))
la source