Как сформировать CSS‑селектор для выбора нужных ссылок

Подходит .menu a:last-child:not([target="_blank"]). В приведённой разметке совпадений нет: единственная последняя ссылка имеет запрещённый target.

Короткий ответ

Что ответить на собеседовании

Подходит .menu a:last-child:not([target="_blank"]). В приведённой разметке совпадений нет: единственная последняя ссылка имеет запрещённый target.

Подробный разбор

Ответ с пояснениями

Условие

Дана HTML‑разметка с разными элементами. Необходимо построить CSS‑селектор, который выбирает все ссылки, отвечающие следующим критериям: • находятся внутри элемента с классом .menu; • являются последними дочерними узлами; • не содержат атрибут target="_blank".

 <div class="menu">
    <a href="home.html">Home</a>
    <a href="contact.html">Contact</a>
    <a href="profile.html" target="_blank">
    Profile
    </a>
</div>

Ответ

Подходит .menu a:last-child:not([target="_blank"]). В приведённой разметке совпадений нет: единственная последняя ссылка имеет запрещённый target.

.menu a:last-child:not([target="_blank"]) {
  color: rebeccapurple;
}

Пробел означает любого потомка .menu; если нужны только непосредственные дети, замените его на >. :last-child проверяет положение среди элементов-соседей: текстовые узлы и пробелы не мешают. Это не «последняя ссылка, подходящая после фильтра»: Contact не становится последним ребёнком из-за исключения Profile. :last-of-type решал бы другую задачу — последнего элемента типа a.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее