CSS/JavaScript, как задать стиль пра-пра-родительскому элементу?

Владимир Коток
На сайте с 04.12.2011
Offline
126
490

Задача

Предположим, что есть элемент со своеобразным атрибутом, в виде тега href:

a.comment__avatar-link[href="/ru/users/1162209"]

У этого элемента есть родительский элемент третьего уровня вложенности:

div.comment

Картинка для наглядности:

Вопрос:

Как задать CSS стиль этому родительскому элементу?

💲💲💲 Забери свой бонус 15% https://reg-hosting.ru/fast Бесплатная регистрация
W1
На сайте с 22.01.2021
Offline
306
#1
Владимир Коток :

Как задать CSS стиль этому родительскому элементу?

Например, через parents().
Или через parent(). В зависимости от конкретной ситуации и личных предпочтений.

jQuery метод .parents()
jQuery метод .parents()
  • basicweb.ru
jQuery метод .parents() возвращает всех предков каждого элемента в наборе совпавших элементов, дополнительно может фильтроваться с помощью заданного селектора.
Мой форум - https://webinfo.guru –Там я всегда на связи
ArbNet
На сайте с 27.10.2019
Offline
138
#2

Давно на JS не писал. Как-то так, не проверял

let elt=document.querySelector('a.comment__avatar-link[href="/ru/users/1162209"]');
let parent=elt.closest('div.comment');
parent.style.cssText='background-color: blueviolet;';
E
На сайте с 10.02.2024
Offline
13
#3

CSS  :has() поддерживаю современные браузеры.

.comment:has(.comment__avatar-link) {
  background-color: red;
}

или Javascript

let comments = document.querySelectorAll('.comment__avatar-link');
comments.forEach(function(e) {
        if (e.hasAttribute('href') && e.getAttribute('href') !== '') {
                e.closest('.comment').classList.add('linked');
        }
});
i.lisovenko
На сайте с 14.01.2022
Offline
46
#4
Владимир Коток :

Задача


Вопрос:

Как задать CSS стиль этому родительскому элементу?

Можно и так в вашем случае

.класс1 . Класс2 .класс3 а{.....}

Сайт знакомств https://bluepink.life
i.lisovenko
На сайте с 14.01.2022
Offline
46
#5
Владимир Коток :

Задача


Вопрос:

Как задать CSS стиль этому родительскому элементу?

А вообще, можно страничку смотреть код и тыкая на каждом нужном элементе, в браузере гугл например он пишет полный путь стиля с учетом вложений

2
На сайте с 12.01.2015
Offline
70
#6
Владимир Коток :

Задача

Предположим, что есть элемент со своеобразным атрибутом, в виде тега href:

У этого элемента есть родительский элемент третьего уровня вложенности:

Картинка для наглядности:

Вопрос:

Как задать CSS стиль этому родительскому элементу?

для этого вам нужно найти свой элемент, например вашу ссыку

const link = document.querySelector('.comment__avatar-link')
дальше вам нужно найти его ближайшего родителя по селектору, для этого есть метод closest()
const container = link.closest('.comment')

В container будет лежать ваш пра пра родитель div в независимости насколько глубоко он вложен, если конечно по пути не появится другой элемент с таким классом, но и тогда можно унифицировать селектор.
Также можно на чистом css использовать :has() - очень мощная штучка.

VonDer
На сайте с 10.10.2016
Offline
62
#7
document.querySelector('.comment__avatar-link[href="/ru/users/1162209"]').closest('.comment').classList.add('our_class');

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий