0

我想<tr>通过知道其中一个元素(div)的ID来获取表的元素。

这是表格在 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>元素包含一个<div>ID 为 56 的元素(在这个例子中)。

这是我在 jQuery 中尝试的(data['id'] = 56):

 var tr = $("tr:has(td:has($(\"#\" + data['id']))))");
4

5 回答 5

4

您还可以通过元素 Id 找到 tr :

var tr = $('#Id').closest("tr");

在你的情况下:

var tr = $('#56').closest("tr");
于 2013-11-14T10:43:48.707 回答
1
var tr = $("tr:has('#" + data['id'] + "')");

注意:检查单个页面中的所有元素是否具有唯一 ID。

于 2013-11-14T10:39:48.973 回答
0

试试喜欢

var tr = $('tr:has("td div#"'+data['id']+')');
于 2013-11-14T10:40:25.757 回答
0

您可以使用以下 jQuery 表达式获取输出

$('tr').find('#56').closest('tr')

还要记住分配给HTML控件的 ID 在整个页面中应该是唯一的。

使用上面的表达式,您将获得tr对象(即指定 id 控件的整个 tr)

于 2013-11-14T10:58:07.013 回答
0

第一:对多个元素使用相同的 ID 是完全无效的,因为 ID 是唯一的。它是一个 HTML 标准。

但是如果你想为你的元素获取选择器,你可以使用它(不需要 ID):

$('tr.odd').children().children();

这是正确的方法,因为您不需要重复 ID。

于 2013-11-14T11:04:33.857 回答