我有下表
<tr id="group_1>...</tr>
<tr id="el">...</tr>
<tr id="el">...<tr>
<tr id="group_2"></tr>
<tr id="el">...</tr>
<tr id="group_1>...</tr>
<tr id="el">...</tr>
<tr id="el">...<tr>
我需要找到每组的最后一个TR
$("tr#group_"+groupID).next("tr#el:last").after("ADD NEW TR");
它不适合我!!
我猜那是因为我为所有群体使用相同的身份。
任何人都可以帮助我。
由于
答案 0 :(得分:6)
首先,ID必须是唯一的,因此在上述情况下,行为将不确定。
其次,这是对行进行分组的一种困难方法。请尝试使用TBODY元素&gt;
<tbody id="group_2">
<tr>...</tr>
<tr>...<tr>
</tbody>
<tbody id="group_2">
<tr>...</tr>
</tbody>
<tbody id="group_3">
<tr>...</tr>
<tr>...<tr>
</tbody>
然后事情变得容易了:
$("#group_" + groupNum + " tr:last-child").after("add new tr");
事情是,你甚至不需要这样做(使用after()
)。使用append()
:
$("#group_" + groupNum).append("add new tr");
答案 1 :(得分:1)
您不能重复使用这样的ID。请尝试将其更改为类。
也可能值得在其中添加一些<tbody>
:
<tr id="group_1>...</tr>
<tbody id="group_1_tbody">
<tr class="el">...</tr>
<tr class="el">...<tr>
</tbody>
<tr id="group_2"></tr>
<tbody id="group_2_tbody">
<tr class="el">...</tr>
</tbody>
然后你可以做
$('group_' + groupID + '_tbody tr:last')
甚至更容易:
$('group_' + groupID + '_tbody').append('NEW TR')
答案 2 :(得分:1)
ID在给定页面上必须是唯一的。当您通过ID识别元素时,您也不需要指定标记,因为ID是唯一的。
一个更简单的形式(一旦你摆脱那些重复的ID)将是:
$("#group_"+groupID).children("tr:last").after("ADD NEW TR");