我希望通过知道其中一个元素(div)的ID来获取表的<tr>
元素。
以下是HTML中的表格:
<table id="table-0">
<thead>
<tr role="row">
<th>house</th>
<th>phone</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td class="">
<div id="56"></div>my house
</td>
<td class="">
<div id="57"></div>1234
</td>
</tr>
</tbody>
</table>
所以我希望得到<tr>
元素,其<td>
元素包含ID为56的<div>
(在此示例中)。
这是我在jQuery中尝试过的(data ['id'] = 56):
var tr = $("tr:has(td:has($(\"#\" + data['id']))))");
答案 0 :(得分:3)
您还可以按元素ID找到tr:
var tr = $('#Id').closest("tr");
在你的情况下:
var tr = $('#56').closest("tr");
答案 1 :(得分:1)
var tr = $("tr:has('#" + data['id'] + "')");
N.B。:检查单个页面中的所有元素是否都有唯一ID。
答案 2 :(得分:0)
尝试
var tr = $('tr:has("td div#"'+data['id']+')');
答案 3 :(得分:0)
您可以使用以下jQuery表达式获取输出
$('tr').find('#56').closest('tr')
并且还要记住分配给HTML
控件的ID在整个页面中应该是唯一的。
使用上面的表达式,您将获得tr
个对象(即整个tr,并指定了id的控件)
答案 4 :(得分:0)
第一:对一个元素的更多元素使用相同的ID是完全无效的,因为ID是唯一的。它是HTML标准。
但是如果你想获得元素的选择器,可以使用它(不需要ID ):
$('tr.odd').children().children();
这是正确的方法,因为您不需要重复ID。