2011-08-28 19 views
14

मेरे पास वर्तमान में एक सारणी है जो एन कॉलम और एन पंक्तियां हो सकती है। इंटरफ़ेस में मेरे पास अंतिम कॉलम को निकालने के लिए एक बटन है, लेकिन मैं यह नहीं समझ सकता कि सभी पंक्तियों से अंतिम td को कैसे निकालना है, जो मैंने अभी तक हासिल किया है, पहली पंक्ति td और अंतिम पंक्ति td को निकालना है , लेकिन वहां दूसरों को छोड़ दें।jQuery अंतिम तालिका कॉलम हटाएं

यहाँ मेरी कोड है (केवल पिछले शीर्षक वर्तमान में हटा देता है):

function removeTableColumn() { 
    /* 
     removeTableColumn() - Deletes the last column (all the last TDs). 
    */ 
    $('#tableID thead tr th:last').remove(); // Deletes the last title 
    $('#tableID tbody tr').each(function() { 
     $(this).remove('td:last'); // Should delete the last td for each row, but it doesn't work 
    }); 
} 

Am मैं कुछ याद आ रही?

उत्तर

28

ऐसा इसलिए है क्योंकि :last चयनकर्ता केवल सेट में पिछले तत्व से मेल खाता है।

आप :last-child, जो तत्व है कि उनके माता-पिता के अंतिम बच्चे हैं मेल खाता है की तलाश में हो सकता है:

+0

मुझे 'आखिरी बच्चे 'चयनकर्ता के बारे में पता नहीं था, अच्छा! –

6

:last चयनकर्ता द्वारा प्राप्त अंतिम तत्व लौटाता है। तो #tableID tr td:last केवल एक td लौटाएगा।

ऐसा करने जा टी.आर. प्रत्येक के अंतिम टीडी का चयन कर सकते हैं:

$('#tableID tr').find('th:last, td:last').remove(); 
+0

यह पूरी तरह से काम करता है, लेकिन मैं नहीं समझता कि कोड क्या करता है। प्रत्येक पंक्ति के लिए यह बच्चों को टीडी और वें मिलता है, लेकिन टुकड़ा क्या करता है? –

0

आप reference के लिए इस

//remove the 1st column 
    $('#table').find('td,th').first().remove(); 

    //remove the 1st column 
    $('table tr').find('td:eq(1),th:eq(1)').remove(); 

    //remove the 2nd column 
    $('table tr').find('td:eq(1),th:eq(1)').remove(); 

    //remove the nth column 
    $('table tr').find('td:eq(n),th:eq(n)').remove(); 

की तरह एक मेज से किसी भी स्तंभ को हटा सकते हैं

संबंधित मुद्दे