1

html:

<tr id="head-58">
    <td style="width:150px;">
        <input type="button" name="delete" class="delete_person" value="58" />name<button type="button" style="margin: 1px 35px 5px;" name="delete" value="58" class="delete_icon button_style">Delete</button>
    </td>
    <td>
        <input type="checkbox" name="first_aid" id="id_first_aid" />FirstAid
    </td>
    <td>
        <input type="checkbox" name="sick_bay" id="id_sick_bay" /Sick bay
    </td>
    <td>
        <input type="checkbox" name="ambulance" id="id_ambulance" />Ambulance
    </td>

</tr>

在这里单击 delete_person 类,我想显示带有类 delete_icon 的隐藏按钮。由于类 delete_icon 可以有多个,我需要显示隐藏按钮表单单击元素。我尝试使用$this.closest('tr').find(".delete_icon").toggle(); 哪个不起作用。

4

4 回答 4

2

利用:

$this.parents('tr').find(".delete_icon").toggle();
于 2013-09-09T18:06:03.773 回答
1

您的删除按钮不是 tr 的子级。将其移入 tr,或使用:

$(this).closest('tr').next('.delete_icon')
于 2013-09-09T18:07:43.663 回答
1

$this除非您自己创建变量,否则没有变量。this指事件的目标,所以在 jQuery 函数中使用它来创建一个包含它的 jQuery 对象:

$(this).closest('tr').find(".delete_icon").toggle();

但是,您还需要在表格行内移动按钮才能使其正常工作。现在它看起来像是在表格内部但在任何表格单元格之外,这是无效的 HTML。(有些浏览器可能会将它放在某个表格单元格内,而其他浏览器可能会将其完全移到表格外。结果是不可预测的,因此除非您将按钮移到单元格内,否则无法编写访问它的代码。)

于 2013-09-09T18:06:55.830 回答
0

由于按钮在<tr>...</tr>

利用:

$(this).parent().next().toggle()
于 2013-09-09T18:09:06.790 回答