jQuery sélection par attribut à l'aide des opérateurs and ET or

Je suis en train de réfléchir, si c'est possible en jQuery pour sélectionner des éléments par des attributs à l'aide de ET et OU.

Exemple:

<div myid="1" myc="blue">1</div>
<div myid="2" myc="blue">2</div>
<div myid="3" myc="blue">3</div>
<div myid="4">4</div>

J'aimerais pour sélectionner tous les éléments où myc="blue" mais seulement ceux avec myid définie sur 1 ou 3.

J'ai donc essayé:

a=$('[myc="blue"] [myid="1"]  [myid="3"]');

mais il ne fonctionne pas, même ici:

a=$('[myc="blue"] && [myid="1"] || [myid="3"]');

Est-il possible sans l'écriture d'un filtre spécial fonctions?

  • NB: Vous ne devriez pas faire vos propres attributs comme myc et myid. Si vous utilisez HTML5 préfixer avec data-: data-myc et data-myid.
  • wow, 8 Réponses en 10 Minutes.. il semble que j'ai posé une question de noob. désolé! :-/
  • Non, c'est une question intéressante, et la plupart des réponses différentes approches et votre question a obtenu 3 upvotes + 2 fav.. certainement une bonne question.
  • est-il de la documentation en HTML5 qui vous dit que vous devriez le faire de cette façon? La plupart des sites que je vois utiliser quel que soit le développeur du cerveau pense à l'époque...
  • Tout simplement parce que les gens le font, cela ne signifie pas que c'est correct. Voir HTML5 Section 3.2.1: "les Auteurs ne doivent pas utiliser des éléments, des attributs, ou les valeurs d'attribut qui ne sont pas autorisées par la présente spécification ou d'autres normes applicables, ce qui rend beaucoup plus difficile pour la langue, pour être étendu dans le futur."
  • C'est un mauvais exemple d'une bonne question. Ce sur les différents types d'éléments comme les entrées?

InformationsquelleAutor The Bndr | 2012-05-21