2009-07-14 2 views
0

У меня есть некоторые CSS, как такJQuery применить класс под

#menu li 
{ 
    color:#336633; 
} 
.hover 
{ 
    color:#ffffff; 
    background-color:#336633; 
} 

Я использую JQuery парить как так по наведению: addClass («парения»); on: removeClass ('hover');

Это изменяет цвет фона, но не цвет шрифта. Я подозреваю, что это потому, что класс применяется сначала, а затем применяется поведение по умолчанию li? Есть ли простой способ сделать эту работу? Я не хочу использовать класс для поведения по умолчанию, а затем удалять его, применять зависание и повторно использовать по умолчанию.

Thanks

ответ

1

Какое приложение эти операторы отображают в вашем CSS? Для того, чтобы приведенный выше код работал, класс #hover должен появиться после определения #menu li.

В качестве альтернативы, вы можете добавить! Важно для свойства цвета.

.hover 
{ 
    color:#ffffff !important; 
    background-color:#336633; 
} 
+0

заказ был прав. ! важно исправлено это спасибо – Ori

+0

Важная декларация не работает в ie6. – Joel

+0

Кстати, я думаю, это связано с тем, что селекторы идентификаторов имеют более высокое предпочтение, чем селектор классов. Если бы вы написали свой LI, используя класс, то вам не понадобится! Важно. – SolutionYogi

1

Ваш личный селектор более специфичен, чем ваш селектор.

Try:

#menu li 
{ 
    color:#336633; 
} 
#menu li.hover 
{ 
    color:#ffffff; 
    background-color:#336633; 
} 
+0

Мне нравится ваше решение лучше. +1. – SolutionYogi

Смежные вопросы