11
votes

Sélecteur JQuery logique "et"

Comment puis-je accéder aux éléments qui ont un nom x et tapez caché ?


1 commentaires

Essayez-vous de sélectionner un élément invisible ou une entrée cachée?


3 Réponses :


18
votes

Vous devez essayer ceci si vous voulez type = caché xxx

si vous voulez un élément caché via CSS, alors essayez < Pré> xxx


8 commentaires

Supprimer "Entrée" et c'est exactement ce qu'il demandait. :)


Vous manquez les citations sur x et cachée.


@ StuperUser, ils ne sont pas nécessaires. Mais vous pouvez les mettre dans si vous avez des espaces.


@Mandoleen, avez-vous voulu dire type = éléments cachés ou cachés avec l'affichage de style Aucun. Parce que ce sont des choses différentes et je ne peux que penser aux champs de saisie ayant de type = caché.


@AMIR: Je pense que c'est une bonne pratique, même si vous ne avez pour les avoir. Si vous deviez insérer une valeur là-bas avec PHP, par exemple, vous ne le ferez pas de casser mystérieusement car il y a un espace inattendu.


@Amir raminfar: entrée avec type "caché"


@AMIR: J'utilise la méthode de StuperUser


Bien, mais je dis si c'est un champ de saisie, alors ne retirez pas l'entrée. C'est beaucoup plus lent car il doit examiner tous les éléments au lieu des champs de saisie. Vous devez toujours utiliser la règle la plus spécifique pour accélérer la sélection!



0
votes
$('[name="X"]:hidden').dosomething();
This will select an element with a name="X" attribute which is hidden.  You can learn lots more about jQuery selectors - there's plenty of useful help there.

3 commentaires

Non. Quote manquante et le : caché doit être en dehors du []


Ceci est en fait faux pour deux raisons. Je pense que vous voulez dire [nom = "x"]: caché. Mais cela renvoie des éléments cachés non de type = caché.


Wow, c'était un mauvais travail d'édition. C'est corrigé. J'ai choisi le sélecteur caché parce que la question ne me convainc pas que l'OP veut caché vs invisible. Je demande des éclaircissements.



5
votes
$('[type="hidden"][name="X"]');
See: http://api.jquery.com/multiple-attribute-selector/

2 commentaires

Seuls les champs d'entrée peuvent avoir de type = caché, il serait donc préférable de mettre "l'entrée [nom =" x "] 'au lieu de nom juste, car il est beaucoup plus rapide que le navigateur ne regarde que les champs de saisie.


+1, bon point, mais cela trouverait TYPE = texte, bouton, etc. TOO 'Entrée [TYPE = "HIDEND"] [nom = "x"]' serait plus stricte et répondrait aux exigences optables. C'est aussi possible (mais très improbable) que OP sélectionne à partir de HTML non valide.