¿Hay una manera más elegante de obtener un artículo anterior con la misma clase?
Tengo filas de tablas así:
<tr class="parent0 row3" data-parent="0">
<td>...</td>
</tr>
<tr class="parent3 row7" data-parent="3">
<td>...</td>
</tr>
<tr class="parent3 row12" data-parent="3">
<td>...</td>
</tr>
<tr class="parent0 row8" data-parent="0">
<td>...</td>
</tr>
<tr class="parent0 row9" data-parent="0">
<td>...</td>
</tr>
Así que si tengo un controlador de clic:
$(document).on({
"click": function(){
var parentId = $(this).data("parent");
//get previous sibling:
//OPTION A:
var prevParentA =
$(this).prev("parent" + parentId); //works sometimes
//OPTION B:
var prevParentB =
$(this).prevAll("parent" + parentId).eq(0); //works all the time but ugly...
}
}, "tr");
Opción A solo funciona cuando el elemento anterior directo tiene el mismo padre, pero cuando eso esno el caso,prevParentA === []
cual esno El resultado deseado.
Opción B Siempre parece funcionar, pero esfeo en eso está seleccionandoTODOS de los elementos anteriores que coinciden con esa clase y seleccionando el primero que encuentre.
¿Hay una opción mejor queOpción B?