我有一些看起来像这样的 HTML(注意:我知道这段代码不是很好,但我最初并没有设计它,其中一些是自动生成的):
<table id="tab1">
<tbody>
<tr id="row1">
<td><span>Some text</span></td>
<td><span>more text</span></td>
<td><input type="text" id="inp1" onclick="DoSomething(this);" /></td>
</tr>
<tr id="row2">
<td><span>Some text</span></td>
<td><span>more text</span></td>
<td><table id="tab2"><tbody>
<tr><td><input type="radio" id="inp2" onclick="DoSomething(this);" /><span>item</span></td></tr>
</tbody></table></td>
</tr>
</tbody>
</table>
所有这些都嵌入在表格中,该表格也嵌入在表格中,依此类推。在DoSomething(this)
函数中,我想检索 table 下面的 TR tab1
。我无法确定为此所需的 jquery。目前我正在做这样的事情:
function DoSomething(control) {
var parentTab = '<%=tab1.ClientID %>';
var tr = $('#' + parentTab + ' > tbody > tr').has('#' + $(control).attr('id')).get(0);
}
这看起来真的很乱但有效。有没有更清洁的方法来做到这一点?如果有帮助,表内的输入将始终是单选按钮,单选按钮永远不会出现在子表之外。理想情况下,我想这样做而不必知道 idtab1
但这似乎是不可能的。