我正在寻找答案但却找不到如何解决我的问题。
我想从表中删除一些td。 td没有课程或身份。
<table>
<tbody>
<tr class="ligne-02">
<th>Blabla</th>
<td>25,2</td>
<td>27,6</td>
<td>22,4</td>
<td>23,0</td>
<td>26,3</td>
<td>28,5</td>
<td>28,0</td>
</tr>
</tbody>
</table>
这里我的jQuery代码非常简单:
jQuery('table tbody tr td').each(function () {
if (jQuery(this).index() < 3) {
alert(jQuery(this).text()); // display the good td value
jQuery(this).remove(); // remove all td
}
});
我认为如果j Query(this).text
返回正确的值,那么jQuery(this)
是循环中的当前td。但jQuery(this).remove()
删除所有td,我不明白为什么。如果有人可以向我解释.. :)
答案 0 :(得分:5)
因为当您从表中删除第一个项目时,第四个项目将成为第三个项目,依此类推......所以它将删除所有元素
如果你想删除前3个元素,那么试试
jQuery('table tbody tr td').slice(0, 3).remove()
演示:Fiddle
如果你有多行,那么
jQuery('table tbody tr').find('td:lt(3)').remove();
答案 1 :(得分:4)
猜测你正试图删除前三个TD,
jQuery有:gt (greater than)和:lt (lower than)以及:eq (equal to)选择器,可用于根据索引选择元素
jQuery('table tbody tr td:lt(3)').remove()
答案 2 :(得分:0)
您可以尝试这样
$('tbody tr:last td').slice(1, 3).remove();
$('tbody tr:last td:eq(0)').attr("colspan", 3).css({"text-align":"center"});