Jquery隐藏表行

Jquery隐藏表行,jquery,Jquery,我隐藏了一堆文本框,效果很好,问题是,文本框在一个表中,所以我还需要隐藏相应的标签。 结构是这样的 <tr> <td> Label </td> <td> InputFile </td> </tr> 标签 输入文件 事实上,如果我隐藏包含fileinput的行会更容易,有人能帮我吗如果标签位于表格行中,您可以这样做来隐藏行: ('.InputFile').parent().Hide() 您可以根据需要优化选择器,然后获

我隐藏了一堆文本框,效果很好,问题是,文本框在一个表中,所以我还需要隐藏相应的标签。 结构是这样的

<tr>
<td>
Label
</td>
<td>
InputFile
</td>
</tr>

标签
输入文件

事实上,如果我隐藏包含fileinput的行会更容易,有人能帮我吗

如果标签位于表格行中,您可以这样做来隐藏行:

('.InputFile').parent().Hide()
您可以根据需要优化选择器,然后获取包含该元素的表行

JQuery选择器帮助:

编辑这是正确的方法

    ('.InputFile').parents('tr').hide()

这可能对你有用

$('.trhideclass1').hide();


标签
输入文件

您只需向上遍历DOM树,找到最近的
,就像这样

$("#ID_OF_ELEMENT").parents("tr").hide();
$('inputFile').parent().parent().children('td>label').hide()

可以帮助您向上导航两个级别(到TD,到TR),向下移动两个级别(该TR中的所有TD及其标签),并在那里应用hide()函数

如果要保持TR级别并隐藏它们:

$('inputFile').parent().parent().hide()

…足够了

您可以使用jquery选择器非常轻松地浏览元素

此处记录了家长:

此处记录了隐藏:

我认为,如果要同时隐藏文本字段和标签,最好的办法是为每个字段分配一个类,并按如下方式隐藏它们:

jQuery(".labelClass, .inputClass").hide();

使用
parents('tr').hide()。但是,如果存在嵌入表,则所有父
tr
行都将隐藏。在我的例子中,整个表单是隐藏的,因为有许多嵌入的表。

这应该可以做到

$(textInput).closest("tr").hide();
html

<tr><td><a href="" onclick=hideRow(event)></a></td></tr>

-1输入控件的父控件应该是
,隐藏方法的大小写应该是parents(),而不是parents()Down-1。parent()接受第一个元素。parents()是正确的用法。@Bobby@icodeforcee你们是对的;我已经更新了我的回答,父母(“tr”)会隐藏上面的任何tr。如果表中有一个表,则此解决方案不起作用。使用最近的(“tr”)代替。你能确切地说明“fileinput”或“InputFile”实际上指的是什么吗?它是带有特定类的“input type=“text”还是“input type=“file”?在我看来,为了维护和可读性,最好保持标记尽可能简洁明了。(此外,问题的目的肯定是“如何隐藏包含给定元素的元素”,而不仅仅是“如何隐藏具有给定类的元素”)谢谢Derek,你的回答是这种情况下的最佳解决方案非常感谢,这是一个大项目的救命稻草,我不得不对其进行大量的表单更改:)
<tr><td><a href="" onclick=hideRow(event)></a></td></tr>
function hideRow(event){
  $(event.target || event.srcElement).parents('tr').hide();
}