2010-09-28 3 views

Répondre

13

Comme un espace dans une chaîne de sélection is a descendant-selector.

Vous devez faire:

$('#myid td.two[role=foo]') 

La façon dont vous l'aviez, vous étiez à la recherche d'<td role="foo"> éléments qui sont descendant de .two.

+1

+1 - Ou '$ ('# myid td [rôle = foo] .two')';) –

+0

@Nick - Est-ce que c'est plus efficace? – user113716

+0

pas vraiment, juste montrer l'ordre n'a pas d'importance :) –

2

Parce que votre sélection:

$('#myid .two td[role=foo]') 

recherche un td[role=foo]au sein un élément de classe .twoau sein un élément d'id #myid.

Vous utilisez des sélecteurs descendants, plutôt que de chercher td[role=foo].two qui, je pense, est ce que vous voulez.

2

Vous voulez:

$("#myid td[role=foo].two")... 

Ce sélecteur:

$('#myid .two td[role=foo]') 

signifie: trouver l'élément avec ID "myid". De là, trouvez tous les descendants avec une classe de "deux". À partir de ces éléments, vous trouverez tous les éléments <td> ayant un attribut role avec la valeur "foo".