Как решить на первый взгляд простую задачу [CSS]

12
V
На сайте с 17.07.2017
Offline
19
1785

Доброго времени суток.

Первый раз с таким сталкиваюсь.

Вообщем сразу показываю пример:

<div class="name1">

<a class="name2" href="#"></a>
</div>

тот что class="name2" зависит от выполнения JS, и меняется на class="name3".

Как задать стиль class="name1" который будет работать только когда в ссылке <a> будет class="name3"?

webiumpro
На сайте с 20.03.2017
Offline
39
#1

.name3::parent {

...
}
Копирование лендингов. Разработка на фреймворке сервисов. Создание сайтов (/ru/forum/994418)
V
На сайте с 17.07.2017
Offline
19
#2
webiumpro:
.name3::parent {

...
}

Не работает :(

F
На сайте с 16.11.2012
Offline
56
#3

Одновременно с присвоением class="name3" присваивать class="name1" через JS?

S
На сайте с 30.09.2016
Offline
469
#4
voysax:
Не работает :(

И не должно. CSS пока ещё видит только то, что ниже и впереди - потомков и соседей то есть. А эту задачу через жабаскрипт решать надо, тем более, что он уже используется.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
Оптимизайка
На сайте с 11.03.2012
Offline
396
#5

Псевдокласс :has(), решающий эту задачу, пока не поддерживается ни одним браузером. Ждите :)

https://caniuse.com/#feat=css-has

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
webiumpro
На сайте с 20.03.2017
Offline
39
#6

А можете показать js код, где классы меняются?

tommy-gung
На сайте с 22.11.2006
Offline
287
#7

в зависимости от условий добавлять класс к name1

Здесь не могла быть ваша реклама
S
На сайте с 30.09.2016
Offline
469
#8

webiumpro, а Вы с какой целью интересуетесь?:)

Варианты jQuery

jQuery('.class1').attr('class','class2')

jQuery('.class1').parent().addClass('class2');
Или setAttribute() в нативном JS. Короче, вариантов много, выбор зависит от конкретики.
Мемори
На сайте с 11.11.2012
Offline
105
#9

вероятно что-то в постановке задачи неправильно...

класс нэйм1 влияет на свое содержимое, т.е. на самом деле ТС хотел изменить

что-то в тэйм2, что и надо сделать в нэйм3...

то есть непонятна причина по которой надо изменять нэйм1, ведь в ТС заданном задании

нет ничего внутри нэйм1 кроме нэйм2 и вся постановка задачи выглядит абсурдом.

В принципе предположу что на самом деле надо менять не классы, а некоторые атрибуты элементов

что можно сделать на JS без изменения имен классов.

webiumpro
На сайте с 20.03.2017
Offline
39
#10
Sitealert:
webiumpro, а Вы с какой целью интересуетесь?

С целью более правильного понимания задачи, очевидно.

А с какой целью вы интересуетесь моей заинтересованностью, учитывая, что вопрос был задан не вам?:)

12

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