2009-11-17 4 views
0

Bonjour,sélecteur jQuery aide

Je tente d'écrire un sélecteur qui sélectionnerait toutes les lignes qui contiennent un élément span qui a une classe de « cancelMenu ».

L'un ou l'autre est-il meilleur que l'autre? Ou y a-t-il une meilleure façon de l'écrire?

$("span.cancelMenu").closest("tr"); 
$("tr > span.cancelMenu"); 

Des idées ou des idées? J'utilise le premier et ça marche mais il semble que je ne vise qu'une seule ligne. Je veux vraiment toutes les lignes à la fois.

Merci, ~ ck

+1

Le deuxième sélecteur sélectionne l'intervalle, pas le tr. – mcrumley

Répondre

5

Vous pouvez le pseudo-sélecteur :has: si vous voulez sélectionner la ligne (tr) et non la durée, vous pouvez utiliser parent()

$("tr:has(span.cancelMenu)"); 
+0

cela va sélectionner la durée, non la ligne – gpilotino

+0

ne sélectionnera pas le 'span' et pas le' tr'? –

+0

Oui, mal lu, édité ... – CMS

1

:

$('span.cancelMenu').parent('tr'); 
2
$("tr:has(span.cancelMenu)"); 
0

Je serais probablement aller avec quelque chose comme

$("span.cancelMenu").each(function(i) { 
    //$(this).parent() is the row 
});