Ответ 1
Вы можете использовать parents
или closest
для этого, в зависимости от ваших потребностей:
$("div.test").parents("tr");
// Or
$("div.test").closest("tr");
(Начальный селектор может быть любым, что соответствует вашему div
, так что ".test"
тоже подойдет.)
parents
будут искать все дерево, возможно, сопоставляя несколько элементов tr
если у вас есть таблица в таблице. closest
остановится с первым tr
он встретит для каждого из div
.
Вот пример использования 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'