2016-04-25 13 views
0

Ich möchte ein dynamisch erzeugtes HTML-Tabellenelement innerhalb einer anderen dynamisch erstellten Tabellenzeile anzielen, um eine Tabellenzeile in der Untertabelle anzuhängen letzte Untertabellenzeile. Ich möchte kein Klickereignis an dieses dynamisch erzeugte Element anhängen, da dies die Antwort ist, die ich überall zu finden scheint. Ich möchte die spezifische Untertabelle (.subTable) in der spezifischen Tabellenzeile (this.closest("tr"), die .buttonHere Zelle in der Zeile, die ich auf das untergeordnete Tabellenelement ausrichten möchte), um eine andere Tabellenzeile vor der letzten Zeile anzuhängen (Klasse .subTableLastRow) .Ziel dynamisch erstelltes HTML-Element in Funktion (für Append-Ereignis - nicht klicken!) JQuery

Also, wenn ich habe:

$("#mainTable").on("click",".buttonHere", function() { 
    $(this.closest("tr") > ".subTable" > ".subTableLastRow").before("<tr><td>another row</td><td>with two cells</td></tr>"); 

Diese chaotisch-Code ist und es offensichtlich nicht funktioniert, ich versuche nur zu erklären, was ich zu tun werde versuchen. Ich hoffe das macht Sinn. Eine einfache Antwort darauf, wie man ein dynamisch erzeugtes Kindelement innerhalb eines anderen dynamisch erzeugten Elternelements anvisiert, wäre eine Menge Hilfe, da ich eindeutig verloren bin.

+0

Definieren Sie einfach Ihren Click-Handler auf '# mainTable' und hören Sie' .dynamicChild' anstelle von '.buttonHere'. Auf diese Weise "sitzt" der Ereignis-Listener auf dem Haupttisch und empfängt alle gesprudelten Ereignisse von seinen Kindern. – LeZuse

Antwort

0

Ich denke, Ihre jQuery-Selektor wurde nur falsch formatiert.

$(".subTable .subTableLastRow", $(this).closest('tr')).before("<tr><td>another row</td><td>with two cells</td></tr>"); 

Zusätzlich wenn auf this jQuery Methoden zuzugreifen versuchen, haben Sie es in einem jQuery-Selektor dh $(this) zu wickeln. Dadurch wird es zu einem jQuery-Objekt und Sie können dann die jQuery-Methoden verwenden.

+0

Danke für die Antwort, obwohl das nicht funktioniert. Weißt du, was das Problem sein könnte? – Miranda

+0

Können Sie ein Beispiel für Ihr HTML geben? – shamsup

+0

Nur der Hinweis, den ich brauchte! Das hat funktioniert, ich hatte die .subTableLastRow als eine ID, keine Klasse. Fest! Vielen Dank! – Miranda