Ответ 1
Возможно ли в моем файле css сделать что-то вроде [см. код выше]?
Нет
Важный вопрос: почему.
HTML имеет контроль над данными на веб-странице. Любой CSS или JS указан через HTML. Это Модель.
CSS управляет стилями , между CSS и HTML или JavaScript нет ссылки. Это Вид.
JavaScript управляет взаимодействием на веб-странице и имеет привязки к любым и всем узлам DOM. Это Контроллер.
Из-за этой структуры MVC: HTML принадлежит файлам .html
, CSS принадлежит файлам .css
, а JS принадлежит файлам .js
.
Псевдоэлементы CSS не создают узлы DOM. Прямой путь для JavaScript для доступа к псевдоэлементу, определенному в CSS, отсутствует, и нет способа привязать событие к указанным псевдоэлементам.
Если у вас есть установленная структура на месте и не может добавить дополнительный контент, необходимый для создания новых ссылок в HTML, JavaScript может динамически добавлять необходимые новые элементы, которые затем могут быть написаны с помощью CSS.
jQuery делает это очень просто:
$('<span class="click-me">click me</span>').appendTo('.myclass').click(my_function);