2010-02-08 7 views
0
$('table.listings td:contains("You")').each(function(){ 
$(this).children('td:nth-child(2)').addClass('highlighted'); 
}); 

J'ai plusieurs table.listings sur la page, mais celui qui contient « Vous » est sélectionné et je veux addClass highlighted à la 2e cellule dans chaque ligne, mais le code ci-dessus ne fonctionne pas comme je attendu.Sélection des cellules spécifiques

Répondre

0
$('table.listings:contains("You") td:nth-child(2)').addClass("highlight"); 
0

Essayez ceci:

$('table.listings td:contains("You")').each(function(){ 
    $("td:nth-child(2)", $(this).parent().parent().get(0)).addClass('highlighted'); 
}); 
+0

cela va faire des choses qui parfois redondantes, '$ ('table.listings td: contient ("vous")')', si la même table contient plus de '' 'avec" vous "alors les codes à l'intérieur sont exécutés plus pour la même table, en faisant la même chose. – Reigel

+0

Il est intéressant de noter que la personne qui pose la question le fait aussi, il est donc probable que «vous» ne figure que dans une partie de la table, ou il s'en fout si cela est fait plusieurs fois. – icktoofay

+0

Oui, mais si vous voyez le problème, pourquoi ne pas le corriger? ..;) – Reigel

0
$('table.listings :contains("You")').each(function(){ 
$(this).children('td:nth-child(2)').addClass('highlighted'); 
}); 
Questions connexes