Gibt es eine schickere Möglichkeit, einen vorherigen Artikel mit derselben Klasse zu erhalten?

Ich habe Tabellenzeilen wie folgt:

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

Also, wenn ich einen Click-Handler habe:

$(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 Funktioniert nur, wenn das direkte vorherige Element dasselbe übergeordnete Element hat, aber wenn dies der Fall istnicht der Fall,prevParentA === [] welches istnicht das gewünschte Ergebnis.
Option B scheint immer zu funktionieren, ist es aberhässlich dadurch, dass es auswähltALLES der vorherigen Elemente, die dieser Klasse entsprechen, und Auswahl des ersten gefundenen Elements.

Gibt es eine bessere Option alsOption B?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage