Я действительно смущен поведением. Любая помощь будет оценена по этому поводу. У меня есть простая таблица, и она ведет себя по-другому, хотя использует один и тот же вызов JQuery.Таблица JQuery slice remove
<table class="PrintTable">
<tr>
<td>
<table>
<thead>
<tr><th>Type Of Transaction</th></tr>
</thead>
<tbody>
<tr>
<td>Name</td>
</tr>
<tr>
<td>Age</td>
</tr>
</tbody>
</table>
</td>
<td>
<table>
<thead>
<tr><th>2006</th></tr>
</thead>
<tbody>
<tr>
<td>Andi</td>
</tr>
<tr>
<td>25</td>
</tr>
</tbody>
</table>
</td>
<td>
<table>
<thead>
<tr><th>2007</th></tr>
</thead>
<tbody>
<tr>
<td>tom</td>
</tr>
<tr>
<td>26</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table><script>$('table.PrintTable >tbody>tr>td').slice(-2).remove();</script>
Вышеупомянутый JQuery удаляет последние два столбца, которые ожидаются.
Но, если я изменил код: -
function getBody(element)
{
var divider=2;
var originalTable=element.clone();
var newTable = ($(originalTable).children('tbody').children('tr').children('td')).slice(-1).remove();
return $('<div>').append(newTable).html();
}
getBoby($('table.PrintTable'))
Приведенный выше код отображается только последний столбец. Почему это так? Я хоп, я могу правильно упомянуть о своей проблеме. Любая помощь будет оценена
Что бы вы хотели, чтобы результаты были? Предполагая, что это выше, можете ли вы опубликовать «после» (или то, что вы хотите получить от «getBody»)? (Кроме того, для тех, кто хочет сыграть скрипку: http://www.jsfiddle.net/bradchristie/8W5Cg/) –