Javascript 如何更改<;的类属性;李>;在jQuery选项卡小部件中

Javascript 如何更改<;的类属性;李>;在jQuery选项卡小部件中,javascript,jquery,jquery-ui-tabs,Javascript,Jquery,Jquery Ui Tabs,在我的脚本中有一个jQuery选项卡小部件。单击选项卡时,我希望将活动选项卡的li的class属性更改为current 我怎么做 HTML: 试一试 只需使用适当的方法:您可以使用jQuery的方法添加一个类: 如果您还想删除该类(从当前拥有的.current中删除),您可以使用 但是,如果您确实想要更改类(而不仅仅是添加一个,这是您在问题中所陈述的),您必须使用: 这将更改class属性的值,而不是向其追加另一个类名 $("ul.nav-content li").click(function(

在我的脚本中有一个jQuery选项卡小部件。单击选项卡时,我希望将活动选项卡的
li
class
属性更改为
current

我怎么做

HTML:

试一试


只需使用适当的方法:

您可以使用jQuery的方法添加一个类:

如果您还想删除该类(从当前拥有的
.current
中删除),您可以使用

但是,如果您确实想要更改类(而不仅仅是添加一个,这是您在问题中所陈述的),您必须使用:

这将更改
class
属性的值,而不是向其追加另一个类名

$("ul.nav-content li").click(function() {
     $(this).addClass("current");
}
您可以使用
addClass
添加类。您还可以使用
this
关键字引用单击的
li

$("ul.nav-content li").click(function() {
     $("ul.nav-content li").removeClass("current");
     $(this).addClass("current")
}

我想我们应该在添加当前类之前删除所有当前类。

在将类添加到已单击的选项卡时,重要的是要确保在单击另一个选项卡时,该类会从上一个选项卡中删除
下面的代码将为您执行此操作:

$('ul.nav-content li').click(function(){
    $('ul.nav-content li').removeClass('current');
    $(this).addClass('current');
});

请注意,问题是“更改类”,而不是“添加另一个类”(请参阅我的答案)。然而,我想这可能就是他们想要的,所以+1。@locrizak关闭click对应的括号:)@James I don;I don’我不认为他们真的想去掉li上的所有类,因为第一个li看起来提供了一些styles@locrizak-我同意,我只是按原样回答问题。正如我所说的,我认为你的答案是他们想要的,而不是他们真正想要的。
$("ul.nav-content li").click(function() {
    $(this).addClass("current");
}
$("ul.nav-content li").click(function() {
    $(this).addClass("current");
});
$("ul.nav-content li").click(function() {
    $(this).attr("class", "current");
});
$("ul.nav-content li").click(function() {
     $(this).addClass("current");
}
$("ul.nav-content li").click(function() {
     $("ul.nav-content li").removeClass("current");
     $(this).addClass("current")
}
$('ul.nav-content li').click(function(){
    $('ul.nav-content li').removeClass('current');
    $(this).addClass('current');
});