2016-04-03 131 views
1

我尝试将CS​​S类添加到<li>元素,当我单击按钮但addClass不工作时。jQuery - addClass不向html元素添加类

这里是我的JS:

$('.test').click(function(event) { 
    var centrum1 = $('.p17'); 
    $('section.bok-map').find(centrum1).addClass('active-region'); 
}); 

这该怎么期待HTML代码: enter image description here

问题出在哪里? find()返回true。
这里是演示:http://demo.vrs-factory.pl/mapDemo/

+0

其中是'.test'? –

+0

'.find()'应该返回'''包裹'jQ' – Rayon

+1

@Vertisan它适用于我。你有没有在css的某个地方定义.active-region?如果我将它设置为'.active-region {color:red}'它可以工作 –

回答

1

你有一对夫妇的错误,因为你没有选择正确的元素,在selector的,因此长度为0

首先,该类称为pl7p17和其次,在使用removeClass时,不要将.放在课程名称的前面。当你使用removeClass时,可以理解你想要定位一个类,因此不需要你通过添加点来指定它。

<script> 
     var centrum1 = $('.pl7'); 

     $('.test').click(function(event) {    
      $('section.bok-map').find(centrum1).removeClass('pl7'); 
     }); 

</script> 

而且,它可能是值得注意的是,因为你只引用$(.pl7)一旦你不必将它分配给一个变量。你也可以写下如下。它是由你决定。

$('.test').click(function(event) {    
     $('section.bok-map').find('.pl7').removeClass('pl7'); 
    }); 
+0

没有一点缓存'$('。pl7');' – Rayon

+0

@RayonDabre我只是修复他的代码,因为他有。 –

+0

我获得多次选择的缓存元素,但是缓存仅选择一次的元素会更有效吗? – 2016-04-03 10:56:36