Javascript 在jquery中按父行隐藏空输入
我有以下HTML:Javascript 在jquery中按父行隐藏空输入,javascript,jquery,Javascript,Jquery,我有以下HTML: <table> <tr class="row"> <td class="field"> <input type="text" /> </td> <td class="field"> <input type="text" /> </td> <td
<table>
<tr class="row">
<td class="field">
<input type="text" />
</td>
<td class="field">
<input type="text" />
</td>
<td class="field">
<input type="text" />
</td>
</tr>
<tr>
...
...
</tr>
</table>
...
...
我希望能够使用class=“row”
隐藏
,但只有当页面加载时,带有class=“field”
的
中的输入为空时,才能隐藏该
我试过这个,但不起作用:
$('td.field:text[value=“”).parents('tr.row').hide()代码>
然而,出于某些原因,这确实有效:
$('td.field).parents('tr.row').hide()代码>
(即:使用class=“row”
隐藏所有行)
此外,以下方法也有效:
$('td.field:text[value=”“]).val('test')代码>
(即:页面加载时,所有空输入均填充“测试”)
我是JQuery新手,所以我怀疑我可能只是误解了链接的工作方式。有人能给我指点吗?似乎我要做的两个部分在单独尝试时是正确的,但不能作为一个整体一起工作。我认为应该这样做:
$('td.field :text[value=""]').parents('tr.row').hide();
原因::文本(输入)是td.field的子项。如果你输入td.field:text,那是错误的,因为它们是不同的选择器。为什么不按oposite的方式选择输入值为空,然后转到它的
父项().parents().hide()
第一个父母得到TD,第二个父母得到TR,当所有字段
为空或只有一个为空时隐藏TR?在这种情况下,我想在行以任何方式不完整时隐藏TR,因此下面的答案很好。如果我只想在所有字段都为空时隐藏,那么我想我应该先隐藏所有tr,然后使用$('td.field').children('input:text:not([value=”“]))).parents('tr.row').show();为了展示我想要的,除非有更好的方法?啊,只有一点空间!:-)我刚试过,效果不错,谢谢!当限额取消后,我会在5分钟内接受你的回答!再次感谢您的快速响应。换句话说,td.field:text
使用type=“text”
选择类field
的元素,并且(注意空格)td.field:text
使用type=text
选择类field
元素的子元素。感谢James,这很有意义。通常,那就行了,是的。但是,输入是由另一个系统自动生成的,我无法控制它们的类或id,因此无法直接选择它们。