使用jQuery选择和更改多个CSS类

时间:2013-06-28 07:38:54

标签: jquery css twitter-bootstrap

我有一个twitter bootstrap carousel组件,我想检测它的滑动功能,通过它,在每次滑动移动时应该改变另一个组件的前景色。

$('#welcomeCarousel').on('slide',function(e){
   var index = $(this).find('.active').index();       
   if(index==1) {
   $('.navbar-inverse .brand:hover,
      .navbar-inverse .nav > li > a:hover,
      .navbar-inverse .brand:focus,
      .navbar-inverse .nav > li > a:focus').css('color': 'rgb(255, 255, 255)');
   }
});

我认为问题的出现是因为选择了多个CSS类,应该有......错误,因为索引具有正确的价值。 JS控制台说unexpected tokenunexpected string

jsfiddle.

3 个答案:

答案 0 :(得分:3)

试试这个语法:

.css({'color': 'rgb(255, 255, 255)'});

文档:http://api.jquery.com/css/#css-properties

答案 1 :(得分:0)

.css('color': 'rgb(255, 255, 255)');

应该是:

.css('color', 'rgb(255, 255, 255)');

如果您想更改多个css属性,请使用以下语法:

.css({'color': 'rgb(255, 255, 255)', diffrentProp : 'SomeValue'});

答案 2 :(得分:0)

我发现了一种更快捷的方法,首先,我已经定义了另一个CSS类:

.newClass .brand:hover,
.newClass .nav > li > a:hover,
.newClass .brand:focus,
.newClass .nav > li > a:focus {
    color: rgb(255, 255, 255);
}

然后,很容易切换或删除此类:

if(index==1) {
    $('#myNavigationBar').toggleClass("newClass");
}
if(index==0) {
    $('#myNavigationBar').removeClass("newClass");
}