2010-06-29 8 views
2

je la structure de tableau suivantJQuery en boucle à travers chaque ligne de la table

<table class="ms-listviewtable> 
<tr> 
<td class="ms-vb2-icon"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2">test1</td> 
</tr> 
<tr> 
<td class="ms-vb2-icon"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2">test2</td> 
</tr> 
<tr> 
<td class="ms-vb2-icon"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2"/> 
<td class="ms-vb2">test3</td> 
</tr> 
</table> 

J'ai besoin de boucle à travers chaque ligne en boucle puis à travers chaque td et vérifier si un td dans une ligne contient le texte « test1 » le cas échéant J'ai besoin de cacher le td avec la classe "ms-vb2-icon" dans la même rangée.

Quelqu'un peut-il me donner quelques indications?

Répondre

4

Vous pouvez le faire comme ceci:

$("tr:has(td:contains('test1')) td.ms-vb2-icon").hide(); 

You can test the code against your markup here

Il utilise :contains() pour voir si un <td> contient ce texte, enveloppé dans :has() pour voir si le le <tr> a un élément correspondant à cela, le prochain nous trouvons le td.ms-vb2-icon cellule dans les rangées appariées et les cachant.

+0

Merci beaucoup pour votre explication. Je peux le voir travailler dans le violon. Je ne sais pas pourquoi cacher le td sur toutes les lignes de mon webpart, à moins que la structure de la table html que je vois dans la barre d'outil du développeur IE ne soit pas la même que le code html généré ... – van

+0

@nav - Je devais corriger votre balisage un peu en violon, par exemple '' ne peut pas se fermer automatiquement et le 'class' de l'élément'

'a besoin d'un guillemet fermant. Assurez-vous que votre balisage réel est valide en le vérifiant ici: http://validator.w3.org/ –

+0

Merci Nick j'ai collé le balisage réel dans le violon modifier http://jsfiddle.net/QUvYW/ – van

Questions connexes