поддерживает ли Opera/IE7+ addClass/removeClass в JQuery?

У меня есть CSS для тегов списка, которые эмулируют кнопки, следующим образом:

Перед вызовом addClass (и в идеале, к чему должен вернуться removeClass)

#content_navigation li {
background-color:#C7C7C7;
border:2px outset black;
text-align:center;
font-weight:400;
}

После addClass('кликнул'); называется

#content_navigation li.clicked {
background-color:#EFEFEF;
border:1px inset black;
font-weight:700;
}

Мой код JQuery (для одной кнопки):

$('#pass_settings_btn').click(function() {
$('#pass_settings_btn').addClass('clicked');
$('li:not(#pass_settings_btn').removeClass('clicked');

В Firefox это работает отлично. но в Opera/IE7 (единственные, на которых мне приходится тестировать, кроме Firefox 5), кнопки не возвращаются в исходное состояние. Исходный CSS не «проходит» после вызова removeClass. Как я могу это исправить (надеюсь, без взлома браузера?)


person Ricardo Altamirano    schedule 11.08.2011    source источник


Ответы (1)


Попробуйте изменить

$('li:not(#pass_settings_btn').removeClass('clicked');

to

$('li:not(#pass_settings_btn)').removeClass('clicked');

person Scott Brown    schedule 11.08.2011
comment
И... это один из тех случаев, когда я прячу свое лицо от стыда и предпочитаю завидовать своей IDE за то, что у нее нет лучшей способности находить синтаксические ошибки (поскольку, очевидно, мой глаз пропустил это). Большое спасибо; это отлично работает. - person Ricardo Altamirano; 11.08.2011
comment
Обычно я не использую его, если я действительно не застрял, но в этом случае я проверил свой код и просто не увидел проблемы, поэтому мне было интересно, связано ли это с браузером. - person Ricardo Altamirano; 11.08.2011
comment
Вещи можно легко пропустить, мы все это делаем. Несколько раз в день, как правило. Я весь день ставил запятые вместо точек в jQuery. $('input'),val(thiswontwork), например! - person Scott Brown; 11.08.2011