2011-12-21 4 views
1

Это может быть основной вопрос ... но я новичок в jquery. мне нужно удалить последний столбец из строки таблицы нижеудалите столбец из строки

var ptr = $(this).closest("tr") 

ptr.remove("td :last") 

ли это способ сделать это?

+1

Вы проверили его? –

+1

Вы хотите удалить последнюю * ячейку * из одной строки или удалить весь столбец (последняя ячейка во всех * строках)? – Jacob

ответ

8
  1. Если вы хотите, чтобы удалить последнюю ячейку в каждой строке (весь столбец)

    Вы можете сделать следующее

    var ptr = $("#myTable").find("tr"); 
    ptr.find("td:last").remove(); 
    

    jsFiddle Demonstration

  2. Если вы только хотите удалить последнюю ячейку в первой строке, сделайте это

    var ptr = $("#myTable").find("tr:first"); 
    ptr.find("td:last").remove(); 
    

    jsFiddle Demonstration

Во всяком случае, я не знаю, как не структурирована ваша таблица (нет источника в вашем вопросе). Вы должны использовать thead и tbody для поисковой оптимизации и хорошего html.

<table id="myTable"> 
    <thead> 
     <tr> 
      <td>first column</td> 
      <td>second column</td> 
     </tr> 
    </thead> 

    <tbody> 
     <tr> 
      <td>first cell first row</td> 
      <td>second cell first column</td> 
     </tr> 
     <tr> 
      <td>first cell second row</td> 
      <td>second cell second column</td> 
     </tr> 
    </tbody>   
</table> 
1

Ваш селектор близок. Вы должны сделать это вместо того, чтобы:

ptr.remove("td:last"); 

С пространством, вы бы по существу просить последний из всех предков всех ваших с.в.. Без пространства вы говорите, что хотите, чтобы все tds были последними, что должно дать вам последний тд.

+0

Я думаю, что это удалит только последнюю ячейку в первой строке. Я думаю, что он хочет удалить весь столбец (каждая последняя ячейка в каждой строке). – dknaack

+1

@dknaack Название вопроса предполагает, что pri_dev хочет удалить 'td' (столбец) из строки. – Jasper

+0

@ Jacob, я не думаю, что это ясно. Если он хочет удалить последнюю ячейку в первой строке, то справа. Но ответ об удалении столбца. давайте посмотрим, что ответ pri_dev на ваш комментарий. – dknaack

1

Вы можете удалить столбец из строки с помощью клеток. например: $("#yourTableId").find('tr')[RowNo].cells[ColumnNo].remove();

Здесь RowNo - это позиция начала строки от 0 до n. и ColumnNo - это ваш тд не начинающийся с 0 по n.

+0

Найдите минутку, чтобы прочитать [редактирование справки] (// stackoverflow.com/editing-help) в справочном центре. Форматирование переполнения стека отличается от других сайтов. – FrankerZ

+0

Спасибо FrankerZ. –

Смежные вопросы