Javascript 更改当前li类(单击的li类)

Javascript 更改当前li类(单击的li类),javascript,jquery,list,class,dom,Javascript,Jquery,List,Class,Dom,现在,我有很多li(list)项,它们是通过javaservlet循环生成的 我想更改所选的当前li(列表)的类 $('li.doBlokkeer').click(function(e) { $('.doBlokkeer').addClass('doDEBlokkeer').removeClass('doBlokkeer'); }); 因此,如果选择了当前li,则需要更改其类(它需要有doDEBlokkeer)。 上述代码有效。。但它改变了我所有的li项目。。。

现在,我有很多li(list)项,它们是通过javaservlet循环生成的 我想更改所选的当前li(列表)的类

      $('li.doBlokkeer').click(function(e) {
    $('.doBlokkeer').addClass('doDEBlokkeer').removeClass('doBlokkeer');
      });
因此,如果选择了当前li,则需要更改其类(它需要有doDEBlokkeer)。 上述代码有效。。但它改变了我所有的li项目。。。伙计们,你们知道如何改变当前物品$(这个)的类别吗?我没有jquery技能,请帮帮我。谢谢

您需要在单击事件处理程序中使用
$(this)
而不是
$('.doBlokkeer')
。As
$('.doBlokkeer')
将返回类为
doBlokkeer
的所有元素,其中As
$(this)
表示作为事件源的jQuery对象

$('li.doBlokkeer').click(function(e) {
   $(this).addClass('doDEBlokkeer').removeClass('doBlokkeer');
});
$('li.doBlokkeer').click(function(e) {        
   $(this).toggleClass('doDEBlokkeer');
});
您还可以尝试使用在两个类之间切换

$('li.doBlokkeer').click(function(e) {
   $(this).addClass('doDEBlokkeer').removeClass('doBlokkeer');
});
$('li.doBlokkeer').click(function(e) {        
   $(this).toggleClass('doDEBlokkeer');
});
您需要在单击事件处理程序中使用
$(this)
而不是
$('.doBlokkeer')
。As
$('.doBlokkeer')
将返回类为
doBlokkeer
的所有元素,其中As
$(this)
表示作为事件源的jQuery对象

$('li.doBlokkeer').click(function(e) {
   $(this).addClass('doDEBlokkeer').removeClass('doBlokkeer');
});
$('li.doBlokkeer').click(function(e) {        
   $(this).toggleClass('doDEBlokkeer');
});
您还可以尝试使用在两个类之间切换

$('li.doBlokkeer').click(function(e) {
   $(this).addClass('doDEBlokkeer').removeClass('doBlokkeer');
});
$('li.doBlokkeer').click(function(e) {        
   $(this).toggleClass('doDEBlokkeer');
});

$(this).addClass(..
请注意,删除类不会删除事件处理程序。
$(this).addClass(..
请注意,删除类并不会删除事件处理程序。我以为这是解决方案,但它似乎不起作用。您的代码没有任何变化。如果我将“this”更改为“doBlokkeer”,我的所有LI项都会更改。但我需要当前(此)要更改。还有其他解决方案吗?原因是什么?你能给我们看一下html吗?检查这个演示,我更新的Andradil,第一个答案是正确的。我搞砸了,因为我的LI类中有一个类名相同的。这导致了问题。我删除了a href类,并将其全部放在list类中。现在它工作得很好!谢谢实际上,这只起作用一次,当我点击li.doBlokkeer时,类会发生变化,这很好,但当我再次按下相同的当前li时,它会调用相同的函数li.doBlokkeer,而不是li.doDEBlokkeer函数(尽管有css类).我尝试了这么多东西,但我真的找不到任何解决方案。你们能帮我吗?请用toggleClass检查我答案中给出的第二个解决方案,我以为这就是解决方案,但它似乎不起作用..您的代码没有任何变化。如果我将“this”更改为“doBlokkeer”,我的所有LI项都会更改..但我需要电流(这个)要更改。还有其他解决方案吗?原因是什么?你能给我们看一下html吗?检查这个演示,我更新的Andradil,第一个答案是正确的。我搞砸了,因为我的LI类中有一个类名相同的。这导致了问题。我删除了a href类,并将其全部放在list类中。现在它工作得很好!谢谢实际上,这只起作用一次,当我点击li.doBlokkeer时,类会发生变化,这很好,但当我再次按下相同的当前li时,它会调用相同的函数li.doBlokkeer,而不是li.doDEBlokkeer函数(尽管有css类).我尝试了很多东西,但我真的找不到任何解决方案。你们能帮我吗?请用toggleClass检查我答案中给出的第二个解决方案,