2012-05-02 7 views
0

J'essaye de sélectionner un groupe d'éléments avec une classe similaire. puis filtrez la sélection par l'identifiant de l'élément. Y a-t-il une meilleure façon de s'y prendre?jQuery - filtrage des éléments par id

Ensuite, en utilisant le même identifiant, je veux faire quelque chose à un élément mis en place avec le même spectacle de classe entitcal

$('ElementClass-1').attr('ElementId-1'); 
    $(this).hover(function(){ 
     ..do stuff 
     }); 
    }); 

<a class="ElementClass-1" id="ElementId-1">hover me</a> 
<a class="ElementClass-1" id="ElementId-2">hover me</a> 
<a class="ElementClass-1" id="ElementId-3">hover me</a> 
<div style="display:none; class="ElementId-1">show me</div> 
<div style="display:none; class="ElementId-2">show me</div> 
<div style="display:none; class="ElementId-3">show me</div> 
+4

Votre code est incomplet, donc quelque façon que ce serait mieux. Pourquoi ne pas utiliser le sélecteur d'ID: '$ ('# ElementId'). Something()'? –

+1

Vous ne pouvez avoir qu'un seul ID par page, il suffit donc de le sélectionner directement par l'ID comme Felix mentionne ci-dessus. –

Répondre

1

Essayez quelque chose comme ci-dessous,

$(ElementClass).each(function() { 
    $('.' + this.id).<your_function>(); 
}); 
0

Utilisez le sélecteur d'attributs multiples de jquery Le premier attribut va être "class" et le deuxième attribut va être "id" http://api.jquery.com/multiple-attribute-selector/

+0

Pourquoi ne pas utiliser les sélecteurs de classe et d'id? –

+0

@Fixix - il faut chaîner les deux sélecteurs non? – Schu

+0

Puisque les ID sont censés être uniques, vous n'avez besoin que du sélecteur d'ID. Mais bien sûr, vous * pouvez * combiner les sélecteurs de toutes les manières possibles, par ex. "# id.class". –

0

Pouvez-vous ajouter une classe avec le même nom pour tous les éléments juste pour la sélection? quelque chose comme

class="ElementSelector" 

plus tard, vous pouvez utiliser cette classe pour la sélection

Questions connexes