Adding a table row in jQuery
Share
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
The approach you suggest is not guaranteed to give you the result you’re looking for – what if you had a
tbody
for example:You would end up with the following:
I would therefore recommend this approach instead:
You can include anything within the
after()
method as long as it’s valid HTML, including multiple rows as per the example above.Update: Revisiting this answer following recent activity with this question. eyelidlessness makes a good comment that there will always be a
tbody
in the DOM; this is true, but only if there is at least one row. If you have no rows, there will be notbody
unless you have specified one yourself.DaRKoN_ suggests appending to the
tbody
rather than adding content after the lasttr
. This gets around the issue of having no rows, but still isn’t bulletproof as you could theoretically have multipletbody
elements and the row would get added to each of them.Weighing everything up, I’m not sure there is a single one-line solution that accounts for every single possible scenario. You will need to make sure the jQuery code tallies with your markup.
I think the safest solution is probably to ensure your
table
always includes at least onetbody
in your markup, even if it has no rows. On this basis, you can use the following which will work however many rows you have (and also account for multipletbody
elements):Try this : very simple way