Puede utilizar parents
o closest
para que, en función de sus necesidades:
$("div.test").parents("tr");
// Or
$("div.test").closest("tr");
(El selector inicial puede ser cualquier cosa que se adapte a su div
, por lo ".test"
estaría bien también.)
parents
se verá todo el camino hasta el árbol, posiblemente coincida con múltiples elementos tr
si tiene una tabla dentro de una tabla. closest
se detendrá con el primer tr
que encuentre para cada uno de los div
s.
Aquí hay un ejemplo usando closest
:
Live copy | Live source
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);
}
});
Salida:
Matched 3 rows:
Row 'first'
Row 'second'
Row 'third'