jQuery: sélectionnez la classe et l'id d'un élément en même temps?

J'ai quelques liens que je veux sélectionner classe et id en même temps.

C'est parce que j'ai 2 comportements différents. Quand une classe de liens a un nom de classe, ils se comportent d'une manière, quand les mêmes clas de liens ont un autre nom de classe, ils se comportent différemment. Les noms de classe sont switch avec jquery.

Je dois donc pouvoir sélectionner une classe de liens et un id en même temps. Est-ce possible?

J'ai essayé:

 $("a .save #country")

Sans résultat.

141
demandé sur Crescent Fresh 2009-12-22 08:20:02

6 réponses

Vous pouvez faire:

$("#country.save")...

Ou

$("a#country.save")...

Ou

$("a.save#country")...

Comme vous préférez.

, Donc oui, vous pouvez spécifier un sélecteur qui doit correspondre à l'ID et classe (et potentiellement nom de la balise et tout ce que vous voulez jeter).

253
répondu cletus 2014-06-12 13:14:54

Juste pour ajouter que la réponse fournie par Alex a fonctionné pour moi, et non celle qui est mise en évidence comme une réponse.

Celui-ci n'a pas fonctionné pour moi

$('#country.save') 

Mais celui-ci l'a fait:

$('#country .save') 

Donc, ma conclusion est d'utiliser l'espace. Maintenant, je ne sais pas si c'est à la nouvelle version de jQuery que j'utilise (1.5.1), mais de toute façon j'espère que cela aidera toute personne ayant un problème similaire que j'ai eu.

Edit: crédit complet pour explication (dans le commentaire de la réponse D'Alex) va à Felix Kling qui dit:

l'espace est le sélecteur descendant, c'est-à-dire A B signifie " correspondre à tous les éléments qui match B qui sont un descendant d'éléments correspondant à A". AB signifie " Tout sélectionner élément correspondant à A et B". Donc, cela dépend vraiment de ce que vous voulez atteindre. #country.save et #country .save ne sont pas équivalentes.

38
répondu Nikola 2015-08-06 17:32:11

Cela fonctionnera lors de l'ajout d'espace entre id et class identifier

$("#countery .save")...

7
répondu Alex 2011-03-16 15:12:45

En fin de compte, les mêmes règles que pour css s'appliquent.

Donc je pense que cette référence pourrait être d'une utilité précieuse.

2
répondu getack 2012-10-18 23:58:45
$("a.save, #country") 

Sélectionnera à la fois la classe" a. save "et l'id" country".

0
répondu o.k.w 2009-12-22 05:22:29

Que diriez-vous de ce code?

$("a.save#country")
0
répondu Pekka 웃 2014-02-04 13:31:02