繁体   English   中英

jQuery 遍历

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM