Как получить родительский элемент с определенным CSS-свойством?

Рейтинг: 0Ответов: 1Опубликовано: 22.07.2023

Определяю родительский элемент так:

var parent = $(".element").parent();

Но мне нужно в parent записать родителя, который имеет свойство "position: relative".

Например, есть такая HTML-структура:

<div class="wrapper">
    <div class="inner">
        <div class="element"></div>
    </div>
</div>

Например, если блок .inner имеет свойство "position: relative", то в parent записываем .inner. Но если .inner не имеет такого свойства, то нужно подняться выше и проверить свойство для .wrapper, и записать в parent .wrapper, если оно имеет свойство "position: relative".

Ответы

▲ 0

Можно так

var parent = $(".element").parent();
var pos = $(parent).css('position'); // Получаем position
if (pos != 'relative') { // Если position inner не relative;
    parent = $(parent).parent(); // Получаем родителя inner
    pos = $(parent).css('position'); // Получаем position
    if (pos != 'relative') parent = undefined; // Если position wrapper не relative;
}
console.log(parent);