2010-11-18 3 views
3

Ich habe Schwierigkeiten, die folgende Funktionalität funktioniert, muss ich eine Tabelle klonen, aber ich brauche nur die erste 'td' aus jeder Zeile und entfernen Sie die Kopfzeile. Kann mir jemand in die richtige Richtung zeigen Ich habe jetzt ein paar Dinge ausprobiert aber keine Freude. Versucht ein paar Dinge wie:Clone eine <table> mit bestimmten Zeilen und Spalten

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

Welche offensichtlich nicht funktioniert hat.

+0

Haben Sie versucht, die freiliegenden Ideen in http://stackoverflow.com/questions/4206746/clone-table-row-but-not-first-td-jquery? –

Antwort

2

Zuerst sollten Sie zuerst klonen, sonst entfernen Sie aus dem Original.

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

Etwas in diese Richtung sollte es tun. td: gt (0) findet alle td-Elemente, die nicht die ersten in ihrer Zeile sind.

Ohne den find ('tr') werden alle Zellen nach dem ersten in der ersten Zeile entfernt, weil der td: gt (0) seinen Kontext als Tabelle annimmt. Wenn der Filter find ('tr') verwendet wird, nimmt der Filter find ('td: gt (0)') jeden tr als seinen individuellen Kontext und die erste Zelle jeder Zeile wird beibehalten.

+0

Ich gebe so etwas und probiere das aus: $ ('. TeamStatusTable'). Find ('tr'). Find ('td: first'). PrependTo ($ ('# tableMembers')); – jonnyhitek

+0

aber ich muss immer noch die tatsächlichen Zeilen pflegen, damit die Ergebnisse korrekt angezeigt werden – jonnyhitek

+0

Ich habe meine Antwort aktualisiert. Bitte schauen Sie sich die neue Version –

0

Hier ist das funktionierende Beispiel.

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

updated running code

+1

Dies ist das Gegenteil von dem, was das OP versucht zu tun. Er versucht alles außer den ersten Zellen zu entfernen. –

Verwandte Themen