Есть ли более причудливый способ получить предыдущий предмет того же класса?

У меня есть строки таблицы, например, так:

<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>

Так что, если у меня есть обработчик кликов:

$(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");

Option A работает только тогда, когда прямой предыдущий элемент имеет того же родителя, но когда этоnot случай,prevParentA === [] которыйnot желаемый результат.
Option B кажется, всегда работает, но этоugly в том, что он выбираетALL из предыдущих предметов, соответствующих этому классу и выбирающих 1-й, который он находит.

Есть ли лучший вариант, чемOption B?

Ответы на вопрос(1)

Ваш ответ на вопрос