Método offsetParent() da iteração jQuery
Exemplo
Defina a cor de fundo do elemento ascendente mais próximo do elemento li com classe item-a:
$('li.item-a').offsetParent().css('background-color', 'red');
Definição e uso
offsetParent() obtém o elemento ascendente localizado mais próximo.
Sintaxe
.offsetParent()
Explicação detalhada
Se fornecermos um objeto jQuery que representa uma coleção de elementos DOM, o método .offsetParent() nos permite procurar ascendentes no árvore DOM do elemento e construir um objeto jQuery cercado pelo elemento ascendente localizado mais próximo. O elemento localizado é aquele cuja propriedade CSS position é definida como relative, absolute ou fixed. Essa informação é útil ao calcular offset para animações de desempenho ou ao posicionar objetos na página.
Pense em uma página com lista aninhada básica, contendo elementos localizados:
<ul class="level-1"> <li class="item-i">I</li> <li class="item-ii" style="position: relative;">II <ul class="level-2"> <li class="item-a">A</li> <li class="item-b">B <ul class="level-3"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </li> <li class="item-c">C</li> </ul> </li> <li class="item-iii">III</li> </ul>
Se começarmos pelo item A, podemos encontrar seus elementos ascendentes localizados:
$('li.item-a').offsetParent().css('background-color', 'red');
Isso mudará a cor de fundo do item alvo II.