我隐藏了一堆文本框,它工作正常,问题是,文本框在表中,所以我还需要隐藏相应的标签。 结构是这样的
<tr>
<td>
Label
</td>
<td>
InputFile
</td>
</tr>
事实上,如果我隐藏具有文件输入的行,它会更容易,有人可以帮助
答案 0 :(得分:62)
这可能对你有用......
$('.trhideclass1').hide();
<tr class="trhideclass1">
<td>Label</td>
<td>InputFile</td>
</tr>
答案 1 :(得分:20)
答案 2 :(得分:9)
这应该可以解决问题。
$(textInput).closest("tr").hide();
答案 3 :(得分:2)
$('inputFile').parent().parent().children('td > label').hide();
可以帮助你向上导航两个级别(到TD,TR)向下移动两个级别(TR中的所有TD和他们的LABEL标签),在那里应用hide()函数。
如果你想留在TR级别并隐藏它们:
$('inputFile').parent().parent().hide();
......就足够了。
您可以使用jquery选择器轻松浏览元素。
父母在此记录: http://api.jquery.com/parent/
这里记录了答案 4 :(得分:2)
<强> HTML 强>
<tr><td><a href="" onclick=hideRow(event)></a></td></tr>
<强> jquery的强>
function hideRow(event){
$(event.target || event.srcElement).parents('tr').hide();
}
答案 5 :(得分:1)
如果标签位于表格行中,您可以执行此操作以隐藏行:
('.InputFile').parent().Hide()
您可以根据需要优化选择器,然后获取包含该元素的表行。
JQuery选择器帮助:http://api.jquery.com/category/selectors/
编辑这是正确的方法。
('.InputFile').parents('tr').hide()
答案 6 :(得分:1)
使用parents('tr').hide()
有效。但是,如果存在嵌入式表,则将隐藏所有父tr
行。就我而言,整个表单都是隐藏的,因为有许多嵌入式表。
答案 7 :(得分:0)
我认为,如果您希望同时隐藏文本字段和标签,最好的选择是为每个分配一个类并隐藏它们,如下所示:
jQuery(".labelClass, .inputClass").hide();