Задать вопрос
SpiderPigAndCat
@SpiderPigAndCat
занимаюсь салообразованием

Туплю с селекторами) Поможете?

Почему второй работает, а третий нет? Должно же выбирать все [name=equal] и если nth-child() обращаться то будут обращения только в этот список.

  • Вопрос задан
  • 153 просмотра
Подписаться 1 Простой 4 комментария
Решения вопроса 4
alexey-m-ukolov
@alexey-m-ukolov Куратор тега CSS
Почему этот не подсвечивается ?
Потому что это четвёртый потомок родителя, а не третий. Селекторы комбинируются, а не применяются по очереди. Ваш селектор звучит как "имеющий имя equal и при этом являющийся третьим потомком своего родителя", а не как "возьми все с именем equal, а потом найди среди них третий".
Ответ написан
SmthTo
@SmthTo Куратор тега CSS
Все перепёлки мира будут оплакивать мою смерть.
Нет, так не работает :nth-child.

:nth-child(3) возвращает именно третий элемент, чем бы не ни был. А так как он не name=equal, то ваше правило для него и не срабатывает. К сожалению, в CSS данный алгоритм работает именно так.

Поэтому только через JS, ибо CSS тут бессилен. Есть костыль: можете изменить теги всех div с name=equal на другой и выбрать их тогда :nth-of-type:



Полный костыль, да. Так делать не надо, хоть и работает.
Ответ написан
Комментировать
potapchino
@potapchino
document.querySelectorAll('[name=equal]')[2]

Ответ написан
Комментировать
Get-Web
@Get-Web Куратор тега CSS
Front-End Developer
Можно без js делать выборку по тегам:
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы