2010-08-26 2 views
1

Так вот сводкеjQuery: Как переопределить псевдо-стиль?

CSS:

input[type="text"]:focus{background:blue;} 
.error{background:red;} 

Javascript:

if(error){ $('#elementid').focus().addClass('error'); 

Проблема:

поле становится красным, то идет синий немедленно и остается синим, когда он в фокус.

Как сделать класс «ошибка» приоритетным, когда javascript выполняет и фокус переходит в поле «elementid», а не: класс focus.

ответ

2

Вы можете дать больше .error специфику, как это:

input[type="text"].error{background:red;}​ 
//or if shared: 
.error, input[type="text"].error{background:red;}​ 

You can give it a try here, с тем же уровнем специфичности, error победит, потому что он объявлен позже в CSS.

+0

Второй подход был более подходящим для меня, поскольку это общий стиль. Спасибо за быстрый ответ. Кроме того, спасибо за эту ссылку. Отличный инструмент! –

+0

@DS - добро пожаловать :) –

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