2009-10-29 13 views
23

मेरे पास डोम का एक टुकड़ा है जिसे मैं अपने पृष्ठ में सम्मिलित करना चाहता हूं। वर्तमान में मैं बस आँख बंद करके उपयोग कर रहा हूँ:jquery: append का उपयोग करके तालिका की पिछली पंक्ति में

$(myblob).appendTo(someotherblob); 

मैं कैसे एक ही बात करते हैं, लेकिन अंतिम पंक्ति कि someotherblob के भीतर है करने के लिए दूसरे के लिए myblob जोड़ देते हैं। इस मामले में someotherblob एक टेबल है और मैं दूसरे के ऊपर एक पंक्ति को इंजेक्ट करना चाहता हूं।

उत्तर

67
$('#mytable tr:last').before("<tr><td>new row</td></tr>") 
0

मैं हाल ही में कुछ कोड ऑनलाइन है कि आप तालिका संशोधनों के साथ सौदा करने में मदद करता डाल:

http://notetodogself.blogspot.com/2009/08/javascript-insert-table-rows-table-body.html

इसके अलावा, आप भी स्पष्ट नहीं है सवाल है, लेकिन उम्मीद है कि ऊपर दिया गया लिंक सभी ठिकानों को कवर किया जाएगा

0

मुझे लगता है कि आप टेबल की प्रत्येक पंक्ति प्रति सेकंड और अंतिम पंक्ति के बीच एक पंक्ति जोड़ना चाहते हैं।

इस मामले कोशिश में

:

var rows=someotherblob.find("TR"); 
var nrows=rows.length; 
    rows.slice(1,(nrows-2)).each(function(){ 
    $(this).append(myblob); 
    }) 
1

ध्यान दें कि साथ से पहले() तत्वों को पहले ही दस्तावेज़ में (अगर यह पेज में नहीं है यदि आप किसी अन्य से पहले एक तत्व शामिल नहीं किया जा सकता है) डाला जाना चाहिए।

तो तुम पहले someotherblob डालने के लिए है:

$('selector to insert someotherblob at') 
    .append(someotherblob) 
     .find('table tr:last') 
      .prev() 
      .before(myblob); 
0

अंधेरे में एक शॉट के बारे में थोड़ी है, लेकिन मेरा अनुमान है कि आप एक पाद लेख, या शायद डाटा एंट्री मिल गया है, तल पर एक टेबल के, और आप पाद लेख से पहले डेटा में पंक्तियां जोड़ना चाहते हैं। उस मामले में, आप इस के लिए अपनी मेज पुनर्गठन करना चाहिए:

<table id="myTable"> 
    <thead> 
     <tr><!-- header row(s) --></tr> 
    </thead> 
    <tfoot> 
     <tr><!-- footer row(s) --></tr> 
    </tfoot> 
    <tbody> 
     <tr><!-- exciting and possibly dynamically inserted data goes here --></tr> 
    </tbody> 
</table> 

हाँ, tbodytfoot के बाद आता है। Wierd, हुह?

तो आप बस इस का उपयोग कर सकते हैं:

$("#myTable tbody").append(newrow); 
0

के रूप में इस के रूप में सरल:

$("#TableName tr:last").prev().before("<tr><td>Hello World</td></tr>"); 
2

तुम भी सूचकांक चयनकर्ता द्वारा पंक्ति का चयन कर सकते हैं।

$('#mytable tr').eq(-1).before("<tr><td>new row</td></tr>") 

यहाँ eq अंतिम पंक्ति का चयन किया जाता है। eq शून्य सूचकांक है और नकारात्मक सूचकांक अंतिम से शुरू होता है। इसलिए मैंने इंडेक्स में -1 का उपयोग किया।

1
  • मैं orin जो this one था द्वारा दिए गए जवाब के साथ की सराहना करते हैं।

  • मैंने कोशिश की और पाया कि आवश्यक स्तंभ वास्तव में enitre तालिका से ऊपर स्थानांतरित हो गया है। ऐसा इसलिए है क्योंकि मैं शीर्षक कॉलम के लिए thead टैग का उपयोग नहीं करता हूं। एक बार फिर मैंने जवाब के लिए खुदाई शुरू कर दी और अपने स्वयं के समाधान के साथ आया।

  • तो यहाँ यह है: मेरे परिदृश्य में यह महायोग सभी प्रविष्टियों हर एक नंबर प्रकार स्तंभ में आने की दिखाने के लिए आवश्यक था। मेरे लिए गणना करना संभव नहीं था जब तक कि सभी पंक्तियां फ्लाई पर आबादी न हों।

HTML:

<tr class="gTotal"> 
     <th colspan="4" class="head">Grand Total</th> 
     <th><?php echo $grandTtlResumeSntCnt; ?></th> 
     <th><?php echo $grandTtlEvalCnt; ?></th> 
     <th><?php echo $grandTtlUniqEvalCnt; ?></th> 
     <th><?php echo $grandTtlResCnt; ?></th> 
     <th><?php echo $grandTtlUniqResCnt; ?></th> 
</tr> 
</table> 

Jquery:

$('.gTotal').insertBefore('table>tbody>tr:nth-child(2)'); 

मुझे पता है कि अगर मैं अपने प्रश्न का उत्तर दे

1
$('#mytable tr:last').prev().after("<tr><td>new row</td></tr>") 
संबंधित मुद्दे