[英]jQuery Traversing
我的页面有这个设计。
<tr id="master">
<td id="row1"> <textbot> </td>
<td id="row2"> <linkbutton> </td>
</tr>
我正在克隆相同的 TR onclick 链接按钮,当前链接按钮将被隐藏。 因此将创建一个新行。
考虑我已经克隆了三次
<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();
但它不起作用。
您不能/不应该克隆具有 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();
您知道,ID 必须是唯一的 .. 所以我建议将所有 ID 更改为类。
我认为 parrent 的语法应该是:
$('#master:parent');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.