Em frente ao jQuery's .Closest (Top / Far-Most?)

Eu tenho um código com muitos submenus que compartilham o mesmo nome de classe.

Aqui está uma estrutura:

.menu
  .sub-menu
  .sub-menu
    .sub-menu
    .sub-menu
  .sub-menu
    .sub-menu
      .elem
      .elem
  .sub-menu

Observe que.sub-menu pode ter níveis infinitos profundos.

Então, como eu faço isso: quando.elem é clicado, eu quero percorrer o DOM para cima até o topo.sub-menu é atingido e aplicar um estilo a ele. Estou ciente.closest() e.parent() e.find(), mas eu não tenho idéia se jQuery tem esse recurso, como.topMost(selector)?

A única maneira que eu posso pensar é talvez correr um loop e passando por.closest('.sub-menu') do novo elemento até seu comprimento é zero (não há mais pais com essa classe, então deve ser o máximo). No entanto, acho que deveria haver uma abordagem mais prática para isso.

questionAnswers(2)

yourAnswerToTheQuestion