web-dev-qa-db-fra.com

jQuery: rechercher la ligne de tableau suivante

J'ai un tableau, contenant des lignes, contenant des cellules - et certains d'entre eux contiennent un img comme suit:

<img id="FormView1_btnSave_row1%1%new" style="border-width: 0px; cursor: pointer;"
src="grafik/ok_16x16.gif" onclick="cleverStuff(this)"/>

Dans la fonction cleverStuff, je voudrais opérer sur la ligne qui suit la ligne dans laquelle le bouton a été cliqué - ce bouton spécial est contenu dans la dernière ligne visible uniquement, il y a un tas de lignes cachées ci-dessous et je veux faire la première ligne cachée visible - mais je n'arrive pas à passer à la ligne suivante. Ma compréhension était que toute combinaison de parent() et next() pouvait être utilisée pour passer de l'img au td, au tr et finalement au tr suivant. J'ai donc essayé de vérifier ceci:

$(ctrl).attr('id') renvoie correctement l'identifiant de l'img :)

$(ctrl).parent().attr('id') renvoie NULL.

Qu'est-ce que j'oublie ici?

23
MBaas

Cela devrait vous donner le tr englobant de l'élément, même si ce n'est pas le parent direct de l'élément, puis la ligne suivante de cette ligne. si vous utilisez parent sur un élément qui est à l'intérieur d'un td, cela vous donnera la colonne, pas la ligne. Fournir un filtre à la méthode parent () filtrera simplement le parent à moins qu'il ne corresponde au filtre, résultant généralement en aucun élément correspondant. Le plus proche est probablement ce que vous voulez, mais les parents ('tr') peuvent être nécessaires si vous avez des tables imbriquées et que vous voulez la ligne externe au lieu de la ligne interne.

$(this).closest('tr').next('tr')
76
tvanfosson

Vous ne nous montrez pas vraiment assez de HTML mais cela devrait fonctionner:

$(ctrl).parent('tr').next();
32
Greg

Peut-être que l'élément parent n'avait pas son id défini? Pour passer à la ligne suivante de l'image, je pense que vous pouvez le faire:

$(this).parent('tr').next('tr')
5
airportyh

J'espère que tu peux utiliser

jQuery(this).parents('tr'); 
1
Roshan Chaudhary