आपके द्वारा सुझाया गया दृष्टिकोण आपको वह परिणाम देने की गारंटी नहीं है जिसकी आप तलाश कर रहे हैं - tbodyउदाहरण के लिए आपके पास क्या है :
<table id="myTable">
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
</table>
आप निम्नलिखित के साथ समाप्त करेंगे:
<table id="myTable">
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
<tr>...</tr>
</table>
इसलिए मैं इसके बजाय इस दृष्टिकोण की सिफारिश करूंगा:
$('#myTable tr:last').after('<tr>...</tr><tr>...</tr>');
आप after()विधि के भीतर कुछ भी शामिल कर सकते हैं जब तक कि यह वैध HTML है, ऊपर दिए गए उदाहरण के अनुसार कई पंक्तियों सहित।
अद्यतन: इस प्रश्न के साथ हाल की गतिविधि के बाद इस उत्तर को फिर से देखना। पलकहीनता एक अच्छी टिप्पणी करती है कि tbodyडोम में हमेशा रहेगा ; यह सच है, लेकिन केवल अगर कम से कम एक पंक्ति है। यदि आपके पास कोई पंक्तियाँ नहीं हैं, तो कोई भी ऐसा नहीं होगा tbodyजब तक कि आपने स्वयं को निर्दिष्ट न किया हो।
DaRKoN_ सुझाव देता हैtbody कि अंतिम के बाद सामग्री जोड़ने के बजाय इसे जोड़ना है tr। यह कोई पंक्तियाँ नहीं होने के मुद्दे के आसपास है, लेकिन अभी भी बुलेटप्रूफ नहीं है क्योंकि आप सैद्धांतिक रूप से कई tbodyतत्व हो सकते हैं और पंक्ति उनमें से प्रत्येक में जुड़ जाएगी।
सब कुछ वजन करते हुए, मुझे यकीन नहीं है कि एक एकल-पंक्ति समाधान है जो हर एक संभव परिदृश्य के लिए खाता है। आपको यह सुनिश्चित करना होगा कि आपके मार्कअप के साथ jQuery कोड लंबा हो।
मुझे लगता है कि सबसे सुरक्षित समाधान संभवतः यह सुनिश्चित करना है कि आपके मार्कअप में tableहमेशा कम से कम एक शामिल हो tbody, भले ही उसकी कोई पंक्तियाँ न हों। इस आधार पर, आप निम्नलिखित का उपयोग कर सकते हैं जो आपके पास कई पंक्तियों के लिए काम करेंगे (और कई tbodyतत्वों के लिए भी खाते हैं):
$('#myTable > tbody:last-child').append('<tr>...</tr><tr>...</tr>');