2010-11-18 3 views
3

J'ai du mal à faire fonctionner les fonctionnalités suivantes, j'ai besoin de cloner une table, mais j'ai seulement besoin de la première 'td' de chaque ligne et de supprimer l'en-tête. Quelqu'un peut-il me pointer dans la bonne direction, j'ai essayé quelques choses maintenant, mais pas de joie. J'ai essayé quelques choses telles que:Cloner un <table> avec des lignes et des colonnes particulières

$('#tableMembers').find('tr').find('td:not(first)').remove(); 

Qui évidemment n'a pas fonctionné.

+0

Avez-vous essayé les idées exposées dans http://stackoverflow.com/questions/4206746/clone-table-row-but-not-first-td-jquery? –

Répondre

2

Tout d'abord, vous devez d'abord cloner, sinon vous supprimez de l'original.

var newTable$ = $('#tableMembers').clone().find('tr').find('td:gt(0)').remove(); 
$('#someTargetLocation').append(newTable$); 

Quelque chose le long de ces lignes devrait le faire. td: gt (0) trouvera tous les éléments td qui ne sont pas les premiers dans leur rangée.

Sans la recherche ('tr'), toutes les cellules après la première de la première ligne sont supprimées, car le td: gt (0) prend son contexte en tant que table. Avec le filtre find ('tr') en place, le filtre find ('td: gt (0)') prend chaque tr comme contexte individuel et la première cellule de chaque ligne est conservée.

+0

Je vais donner quelque chose comme ça un go essayé ceci: $ ('. TeamStatusTable'). Find ('tr'). Find ('td: first'). PrependTo ($ ('# tableMembers')); – jonnyhitek

+0

Cependant, j'ai encore besoin de maintenir les lignes réelles afin que les résultats sont affichés correctement – jonnyhitek

+0

J'ai mis à jour ma réponse. Veuillez regarder la nouvelle version –

0

Voici l'exemple de travail.

$('#tableMembers').clone().prependTo(....).find('td:first-child').remove(); 

updated running code

+1

Ceci fait le contraire de ce que l'OP essaie de faire. Il essaie d'enlever tout sauf les premières cellules. –

Questions connexes