我真的很困惑的行为。任何帮助将不胜感激。我有一个简单的表,它使用相同的JQuery调用的行为不同。表JQuery切片删除
<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'))
上面的代码只显示最后一列。为什么这样?我跳,我能够正确地提到我的问题。任何帮助将在第一jQuery的呼叫理解
你想要结果是什么?假设以上是之前的版本,你可以发布一个“之后”(或者你想从`getBody`返回的内容)吗? (另外,对于任何想玩小提琴的人:http://www.jsfiddle.net/bradchristie/8W5Cg/) – 2011-01-19 16:39:01