JQuery:选择包含具有特定ID的元素的元素

时间:2017-01-20 00:48:55

标签: javascript jquery html selector

如果这是重复的道歉。它可能是,但我已经搜索过这个特定的问题并且找不到它。

我们说我有这样的HTML:

<tr>
  <td>
    <input id="hello">
  </td>
  <td>
    Hello
  </td>
</tr>

使用JQuery或Javascript,我想选择包含<tr>输入的id="hello"

这是我到目前为止的尝试:

var id = "hello";
var tr = $("tr:has('#" + id + "')");

然而,这既没有专门搜索输入也没有效果。如果你能对此有所了解,我将非常感激。

4 个答案:

答案 0 :(得分:2)

Jasper,正如评论中提到的haxxxton,.closest() jQuery方法是实现这一目标的最快捷,最简单的方法。

$('#hello').closest('tr');
$('input[id="hello"]').closest('tr'); // more efficient method than escaping dots if say, your id attribute had periods.

答案 1 :(得分:2)

可以使用parents()方法完成此操作:

var tr = $('#hello').parents('tr');

答案 2 :(得分:1)

您可以尝试按id获取元素,然后closest()获取该元素的parent元素。这似乎是文档中的首选方式。请注意,每页只能有一个id

以下是一个示例和link to the documentation

var yourElement = $("#hello").closest("tr");

如果您浏览文档,您会发现多种方法来实现相同的结果。希望它有所帮助。

答案 3 :(得分:1)

查看JQuery的closest()方法here

它遍历DOM树(从当前元素开始),直到它遇到与给定选择器匹配的元素。

您的案例示例:

$("#hello").closest("tr")