2016-08-03 11 views
0

Gibt es jemanden, der weiß, wie man ein bestimmtes attribut (eine Klasse in diesem Fall) beim letzten Versuch von insertAfter() in jQuery gibt?Wie spezifiziere ich den letzten Prozess von insertAfter() in jQuery?

Zum Beispiel

Vorher:

<td class="column-timesheet-travel"> 
</td> 
<td class="column-timesheet-travel"> 
</td> 

Nach $('<td class="column-timesheet-work"></td>').insertAfter(".column-timesheet-travel"), sollte es so etwas wie sein:

<td class="column-timesheet-travel"> 
</td> 
<td class="column-timesheet-work"> 
</td> 
<td class="column-timesheet-travel"> 
</td> 
<td class="column-timesheet-work NewClassAddedOnLastAttempt"> 
</td> 

Oder gibt es eine andere bessere Möglichkeit, dies zu tun? Vielen Dank im Voraus.

+1

Können Sie diese Klasse nicht einfach in den HTML-Code einfügen, den Sie hinzufügen ...? –

+0

@RoryMcCrossan Leider konnte ich nicht. Denn im Falle meines Projekts kann der Benutzer die Seite anpassen. Also, ich muss das HTML und CSS mit javascript/jQuery verwalten. –

+0

Fügen Sie den Klassennamen nicht hinzu, verwenden Sie '.column-timesheet-work: last-child {/ * CSS hier * /}' in Ihrem CSS? –

Antwort

0

Vor dem HTML-Update speichert die eingelegte div auf einem var einfügen und einfügen anywehre Sie brauchen:

var $div = $('<td class="column-timesheet-work YOU-COULD-PUT_YOUR-CSS-HERE">TD 3</td>').addClass('or-add-this-way'); $('.column-timesheet-travel').last().after($div);

Das Beispiel auf zwei Arten geschehen könnte, Hinzufügen die Klasse, die Sie benötigen, zu ersetzen "YOU -COULD-PUT_YOUR-CSS-HERE "oder mit der Methode addClass von jquery.

https://jsfiddle.net/wallynm/2rjyLd7m/

+0

Vielen Dank! Das '$ ('. Column-timesheet-travel'). Last(). Nach ($ div);' gibt mir den Hinweis. –

+0

Vielleicht wird dies für die anderen nützlich sein, das ist meine Lösung: Ich mache das '$ ('. Column-timesheet-work'). Last(). AddClass ('column-timesheet-total');' direkt nach I Mach das insertAfter(); –

0

Nur eine weiterer Trick Art und Weise:

$('.column-timesheet-travel').after('<td class="column-timesheet-work"></td>').last().next().addClass('new'); 

"liest()" bedeutet letztes td mit Klasse '.Column-Zeiterfassungs-Reise' und "next()" Element ist , was Sie nur ".after()"

Verwandte Themen