JQuery父级->;子女选择
我有一组文本框,我想在客户端执行一些操作。我想使用JQuery来实现这一点。我的问题的简化示例如下JQuery父级->;子女选择,jquery,selector,Jquery,Selector,我有一组文本框,我想在客户端执行一些操作。我想使用JQuery来实现这一点。我的问题的简化示例如下 <asp:TextBox ID="Don'tSelectME_1" runat="server" /> <table id = "outer_1"> <table id="inner_1"> <tr> <td> <asp:TextBox ID="SelectME_1" runat="server" /&
<asp:TextBox ID="Don'tSelectME_1" runat="server" />
<table id = "outer_1">
<table id="inner_1">
<tr>
<td>
<asp:TextBox ID="SelectME_1" runat="server" />
</td>
<td>
<asp:TextBox ID="SelectME_2" runat="server" />
</td>
</tr>
</table>
<table id="inner_2">
<tr>
<td>
<asp:TextBox ID="SelectME_3" runat="server" />
</td>
<td>
<asp:TextBox ID="SelectME_4" runat="server" />
</td>
</tr>
</table>
</table>
如果不讨论嵌套表(宁愿亲自使用div),我想选择两个嵌套表中的文本框
我正在尝试使用类似$('table[id=“outer_1”]>table>tr>td>input)的方法来获取所有文本框输入。不工作,但是,有人有任何想法吗?我认为“>”选择器在选择器中只能使用一次。提前感谢大家它不起作用,因为
- (几乎所有浏览器都会插入
标记:tbody
$(“#外部_1>车身表>车身>tr>td>输入”)
- 表的HTML标记不正确
$(“#外部#u 1#内部_1:input”)
(如果必须使用外部表格)
或者$(“#内部_1:input”)
(因为您在内部表上也有id)
试试这个,它更灵活
$("table").find("input")
或仅适用于子表
$("table table").find("input")
是一个实时工作示例,我还修复了您的无效表格html…不是(仅和)的有效(直接)子级,不同的浏览器将以不同的方式处理此错误,有些浏览器将为您填充缺少的元素,因此,对于某些浏览器,正确的选择器应该是:#outer_1>table>tbody>tr>td>table>tbody>tr>td>input
,对于其他浏览器,可能是#outer_1>table>tr>td>input
我的建议是,首先,如您所说,对容器使用div,而不是没有行或单元格标记的元素,如果您不介意选择#outer_1的所有后代元素,您的选择器可以简化为:
$('#outer_1 input')
作为旁注,你能发布生成的HTML而不是ASP代码吗?我总是想知道为什么人们使用
.find()
$("#outer_1 input")
将获取指定表中的所有输入标记。解释一下,这意味着找到ID为#outer_1
的对象,然后搜索标记类型为input
的所有decentant,
选择器表示直接子对象,如果不能保证这一点,则将其忽略。“没有,只留下一个空间,意味着在任何深度都有一个孩子。”“布鲁西,不,事实上这是真的。大多数浏览器都会添加
标记,无论您是否在源代码中提供了标记。您是如何将我的HTML加载到fiddle中的?@R-Tard-谢谢您的帮助,令人惊讶的是,即使在这么多年之后,您仍然会错过一些小事情。。删除了我的评论
$("#outer_1 input")