Я только что выучил немного jQuery и пытаюсь использовать его для простого изменения цвета. Допустим, у меня есть два <div
> s, #foo и #bar. #foo имеет много URL-адресов и имеет следующий CSS-код:
#foo a {color: blue; border-bottom: 1px dashed blue}
#foo a:hover {color: black; border-bottom: 1px solid black}
Теперь я хотел бы изменить цвет ссылок (a: link) в #foo, когда пользователь нажимает #bar, но оставить цвет a: hover без изменений, поэтому я пишу свою функцию так:
//...
$("#bar").click(function () {
$("#foo a").css("color", "red");
});
//...
Проблема в том, что, хотя эта функция меняет все ссылки на красный, цвет a: hover теряется, т.е. когда пользователь перемещает курсор на ссылки, они остаются красными, а не чернеют, как я ожидал.
Поскольку я вижу, что jQuery помещает встроенный стиль в <a
> s внутри #foo, превращает их в <a style="color:red;" href="..."
>, я думаю, это перезапишет псевдокласс: hover. Поскольку встроенный стиль attr для псевдокласса никем не реализован, я сомневаюсь, смогу ли я вообще получить желаемый эффект ...
Тем не менее, есть ли решения, которые не требуют, чтобы я написал что-то вроде
$("#foo a").hover(
function(){ $(this).css("color", "black");},
function(){ $(this).css("color", "blue");}
)
спасибо.