Для этого вы можете использовать parents
или closest
, в зависимости от ваших потребностей:
$("div.test").parents("tr");
// Or
$("div.test").closest("tr");
(Первоначальный селектор может быть любым, что соответствует вашему div
, поэтому ".test"
тоже подойдет.)
parents
будет искать все дерево вверх, возможно, сопоставляя несколько элементов tr
, если у вас есть таблица в таблице. closest
остановится с первым tr
, с которым он столкнется для каждого из div
s.
Вот пример использования closest
:
Живая копия | Живой источник
HTML:
<table>
<tr id="first"> <!-- this tr I want to select -->
<td>
<div class="test"> text </div>
</td>
</tr>
<tr id="second"> <!-- this tr I want to select -->
<td>
<div class="test"> text </div>
</td>
</tr>
<tr id="third"> <!-- this tr I want to select -->
<td>
<div class="test"> text </div>
</td>
</tr>
</table>
JavaScript:
jQuery(function($) {
var rows = $("div.test").closest("tr");
display("Matched " + rows.length + " rows:");
rows.each(function() {
display("Row '" + this.id + "'");
});
function display(msg) {
$("<p>").html(msg).appendTo(document.body);
}
});
Выход:
Matched 3 rows:
Row 'first'
Row 'second'
Row 'third'