我的页面有这种设计。
<tr id="master">
<td id="row1"> <textbot> </td>
<td id="row2"> <linkbutton> </td>
</tr>
我正在克隆链接按钮的同一个TR,并隐藏当前的链接按钮。所以将创建一个新行。
考虑我克隆了三次
<tr id="master">
<td id="row1"> <textbot> </td>
<td id="row2"> <linkbutton> </td>
</tr>
<tr id="master">
<td id="row1"> <textbot> </td>
<td id="row2"> <linkbutton> </td>
</tr>
<tr id="master">
<td id="row1"> <textbot> </td>
<td id="row2"> <linkbutton> </td>
</tr>
现在我想显示第二行的链接按钮。
我正在尝试
$(this).parents('#master :last').prev().children('#row2).show();
但它不起作用。请帮忙。 TIA。
答案 0 :(得分:4)
您不能/不应该克隆具有ID的元素,因为ID应该在文档中是唯一的。虽然浏览器很乐意让你拥有两次相同的ID,但Javascript和jQuery不会原谅你这样做,事情将无法按预期工作。对元素进行分组的正确方法是按类。
因此,如果您将代码切换为:
<tr class="master">
<td class="row1"> <textbot> </td>
<td class="row2"> <linkbutton> </td>
</tr>
您的选择器可能如下所示:
$('tr.master').eq(1).find('td.row2').show();
答案 1 :(得分:0)
你知道,ID必须是唯一的..所以我建议将所有id更改为class。
我认为parrent的语法应该是:
$('#master:parent');