2009-11-01 10 views
1

HTML:Rechercher du texte dans l'élément et addClass au parent

<table> 
<tr> 
    <td> 
    <a href="#" class="nav">link</a> 
    <td> 
</tr> 
</table> 

Je veux: Trouver texte '' dans a.nav et ADD ID "abc" à 'table'. J'ai essayé cela, mais il ne fonctionne pas:

$('table>tbody>tr>td>a.nav:contains("Forum Index")').parents('table').attr('id', 'newID'); 

(tbody parce que la plupart des navigateurs ajoutent automatiquement)

+0

Ce serait plus simple si vous n'utilisiez pas de tables pour les mises en page –

Répondre

4

Vos critères de sélection n'a pas besoin d'être aussi explicite. En fait, je les rendrais aussi simples que possible tout en ne sélectionnant que les éléments dont vous avez besoin. Des critères de sélection simples seront plus performants.

$('a.nav:contains("link")').parents('table').attr('id', 'abc'); 
1

Oui, cela fonctionne. Je l'ai essayé en changeant seulement la chaîne dans le contenu de "Forum Index" à "link", et cela change l'ID de la table.

Toutefois, vous ne devriez pas vraiment changer l'ID des éléments. Utilisez une classe intead si possible.

Questions connexes